command not found: npm
程序员文章站
2022-05-29 09:13:08
...
目前的情况是:node 可以打印出版本,但是npm就会报错:
➜ ~ node -v
v6.17.1
➜ ~ npm -v
zsh: command not found: npm
这里有一篇类似问题的解决方案:sudo: npm: command not found
虽然很类似,但是并不适合我的情况,我的由于node版本切换,导致npm升级没有更上,导致的一系列并发症,最后还是通过降低node版本,然后重新升级npm,就正常了。
➜ ~ sudo n 8
➜ ~ node -v
v8.16.0
➜ ~ npm -v
6.4.1
➜ ~ which npm
/usr/local/bin/npm
➜ ~ which node
/usr/local/bin/node
➜ ~ sudo npm i npm -g
➜ ~ npm -v
6.10.1
最后发现,切换到高版本的node,npm又会出错了,然后再继续升级 npm,貌似就可以了 ,但是返回到低版本,又是回归了之前的错误,所以总结如下:
- 下载最低版本的node;
- 只执行node最低版本的npm升级;
- 切换到高版本的node之后,轻易不要升级npm(有时候使用n或者cnpm下载的版本会有出入,我就是走的cnpm的坑)
- 以后npm升级,先切换到低版本升级,应该就没问题。
流程测试:
➜ ~ n
node/6.17.1
➜ ~ npm -v
4.2.0
➜ ~ sudo npm i npm -g
➜ ~ npm -v
6.10.1
➜ ~ n
node/7.10.1
➜ ~ npm -v
6.10.1
➜ ~ n
node/11.13.0
➜ ~ npm -v
6.10.1
➜ ~ n
node/10.16.0
➜ ~ npm -v
6.10.1
➜ ~ n
node/6.17.1
➜ ~ npm -v
6.10.1
➜ ~
现在不管切换到哪个版本,都不会报错了。