欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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
➜  ~ 

现在不管切换到哪个版本,都不会报错了。