问题:
centos7下,用命令 npm install -g cnpm --registry=https://registry.npm.taobao.org安装cnpm出错:
[root@localhost ~]# npm -v
6.14.4
[root@localhost ~]# npm install -g cnpm --registry=https://registry.npm.taobao.org
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this
/usr/local/src/node-v12.16.2-linux-x64/bin/cnpm -> /usr/local/src/node-v12.16.2-linux-x64/lib/node_modules/cnpm/bin/cnpm
+ cnpm@6.1.1
updated 1 package in 11.875s
[root@localhost ~]# cnpm -v
bash: cnpm: command not found...
解决:
Step 1. 降低npm版本
[root@localhost ~]# npm -v
6.14.4
[root@localhost ~]# npm install npm@4.6.1 -g
/usr/local/src/node-v12.16.2-linux-x64/bin/npm -> /usr/local/src/node-v12.16.2-linux-x64/lib/node_modules/npm/bin/npm-cli.js
+ npm@4.6.1
added 210 packages from 116 contributors, removed 346 packages and updated 46 packages in 6.658s
Step 2. 安装cnpm
[root@localhost ~]# npm config set registry https://registry.npm.taobao.org
[root@localhost ~]# npm config get registry
https://registry.npm.taobao.org/
[root@localhost ~]# npm cache clean --force
npm WARN using --force I sure hope you know what you are doing.
[root@localhost ~]# npm install -g cnpm --registry=https://registry.npm.taobao.org
/usr/local/src/node-v12.16.2-linux-x64/bin/cnpm -> /usr/local/src/node-v12.16.2-linux-x64/lib/node_modules/cnpm/bin/cnpm
/usr/local/src/node-v12.16.2-linux-x64/lib
└── cnpm@6.1.1
[root@localhost ~]# cnpm
bash: cnpm: command not found...
[root@localhost ~]# cnpm -v
bash: cnpm: command not found...
注意:此时cnpm命令仍无法使用。
Step 3. 为cnpm建立软连接
[root@localhost ~]# ln -s /usr/local/src/node-v12.16.2-linux-x64/lib/node_modules/cnpm/bin/cnpm /usr/local/bin/cnpm
[root@localhost ~]# cnpm -v
cnpm@6.1.1 (/usr/local/src/node-v12.16.2-linux-x64/lib/node_modules/cnpm/lib/parse_argv.js)
npm@6.14.8 (/usr/local/src/node-v12.16.2-linux-x64/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
node@12.16.2 (/usr/local/src/node-v12.16.2-linux-x64/bin/node)
npminstall@3.27.0 (/usr/local/src/node-v12.16.2-linux-x64/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
prefix=/usr/local/src/node-v12.16.2-linux-x64
linux x64 3.10.0-957.el7.x86_64
registry=https://r.npm.taobao.org
注意:此时cnpm命令可以使用