windows 执行cnpm 提示无法识别,是因为cnpm没有安装
> cnpm install
cnpm : 无法将“cnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ cnpm install
+ ~~~~
+ CategoryInfo : ObjectNotFound: (cnpm:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
安装 cnpm 又出现新的问题
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm error code CERT_HAS_EXPIRED
npm error errno CERT_HAS_EXPIRED
npm error request to https://registry.npm.taobao.org/cnpm failed, reason: certificate has expired
npm error A complete log of this run can be found in: C:\Users\Administrator\AppData\Local\npm-cache\_logs\2025-04-17T02_56_59_394Z-debug-0.log
完整日志
0 verbose cli D:\OpenSource\nodejs\node.exe D:\OpenSource\nodejs\node_modules\npm\bin\npm-cli.js
1 info using npm@10.9.2
2 info using node@v22.14.0
3 silly config load:file:D:\OpenSource\nodejs\node_modules\npm\npmrc
4 silly config load:file:C:\Users\Administrator\.npmrc
5 silly config load:file:C:\Users\Administrator\AppData\Roaming\npm\etc\npmrc
6 verbose title npm install cnpm
7 verbose argv "install" "--global" "cnpm" "--registry" "https://registry.npm.taobao.org"
8 verbose logfile logs-max:10 dir:C:\Users\Administrator\AppData\Local\npm-cache\_logs\2025-04-17T02_59_03_810Z-
9 verbose logfile C:\Users\Administrator\AppData\Local\npm-cache\_logs\2025-04-17T02_59_03_810Z-debug-0.log
10 silly packumentCache heap:4345298944 maxSize:1086324736 maxEntrySize:543162368
11 silly logfile done cleaning log files
12 silly idealTree buildDeps
13 silly fetch manifest cnpm@*
14 silly packumentCache full:https://registry.npm.taobao.org/cnpm cache-miss
15 http fetch GET https://registry.npm.taobao.org/cnpm attempt 1 failed with CERT_HAS_EXPIRED
16 http fetch GET https://registry.npm.taobao.org/cnpm attempt 2 failed with CERT_HAS_EXPIRED
17 http fetch GET https://registry.npm.taobao.org/cnpm attempt 3 failed with CERT_HAS_EXPIRED
18 silly placeDep ROOT cnpm@ OK for: want: *
19 verbose type system
20 verbose stack FetchError: request to https://registry.npm.taobao.org/cnpm failed, reason: certificate has expired
20 verbose stack at ClientRequest.<anonymous> (D:\OpenSource\nodejs\node_modules\npm\node_modules\minipass-fetch\lib\index.js:130:14)
20 verbose stack at ClientRequest.emit (node:events:518:28)
20 verbose stack at emitErrorEvent (node:_http_client:104:11)
20 verbose stack at _destroy (node:_http_client:898:9)
20 verbose stack at onSocketNT (node:_http_client:918:5)
20 verbose stack at process.processTicksAndRejections (node:internal/process/task_queues:91:21)
21 error code CERT_HAS_EXPIRED
22 error errno CERT_HAS_EXPIRED
23 error request to https://registry.npm.taobao.org/cnpm failed, reason: certificate has expired
24 silly unfinished npm timer reify 1744858744764
25 silly unfinished npm timer reify:loadTrees 1744858744770
26 verbose cwd G:\source\admin
27 verbose os Windows_NT 10.0.19045
28 verbose node v22.14.0
29 verbose npm v10.9.2
30 verbose exit 1
31 verbose code 1
32 error A complete log of this run can be found in: C:\Users\Administrator\AppData\Local\npm-cache\_logs\2025-04-17T02_59_03_810Z-debug-0.log
从日志信息来看,问题的根本原因是CERT_HAS_EXPIRED错误。这意味着在尝试从https://registry.npm.taobao.org下载cnpm包时,遇到了证书过期的问题。
解决方案
使用不同的注册表:如果https://registry.npm.taobao.org的证书问题无法解决,可以尝试使用官方的npm注册表。你可以通过以下命令切换到官方注册表:
npm config set registry https://registry.npmjs.org/
然后执行安装
npm install -g cnpm