无法将npm从1.4.28升级到最新版本(2.2)

ekr*_*aca 2 ubuntu node.js npm

我在Ubuntu 14.04上使用稳定版本的节点.(通过PPA安装)当我尝试升级像yo这样的软件包时,我收到以下错误:

npm ERR! notsup Unsupported
npm ERR! notsup Not compatible with your version of node/npm: yo@1.4.2
npm ERR! notsup Required: {"node":">=0.10.0","npm":">=2.1.0"}
npm ERR! notsup Actual:   {"npm":"1.4.28","node":"0.10.35"}

npm ERR! System Linux 3.13.0-32-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "update" "-g"
npm ERR! cwd /home/ekrem
npm ERR! node -v v0.10.35
npm ERR! npm -v 1.4.28
npm ERR! code ENOTSUP
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/ekrem/npm-debug.log
npm ERR! not ok code 0
Run Code Online (Sandbox Code Playgroud)

当我点击时(sudo) npm update -g npm,这是我得到的结果:

npm@2.1.3 /home/ekrem/.node/lib/node_modules/ionic/node_modules/npm
Run Code Online (Sandbox Code Playgroud)

击中后 npm -v

1.4.28
Run Code Online (Sandbox Code Playgroud)

我还清除了所有文件~/.npm,清除缓存,重新安装我需要的组件,但没有任何变化.此外;

?  ~  which node
/usr/bin/node
?  ~  which npm 
/usr/bin/npm
?  ~  less ~/.npmrc
prefix = ~/.node
Run Code Online (Sandbox Code Playgroud)

我在网上检查过类似的问题,但没有什么可以接近我的.

更新:

我删除了nodejs; 使用此处说明的第一种方法在~/.node&~/.npm(如@johns建议的)下清除文件.这是更新的输出:

?  node -v
v0.10.35
?  npm -v 
1.4.28
?  which node
/home/ekrem/local/bin/node
?  which npm 
/home/ekrem/local/bin/npm
?  npm update -g npm 
# returns nothing
?  ~  npm config get prefix
/home/ekrem/.node
Run Code Online (Sandbox Code Playgroud)

Thi*_*obo 7

我遇到了类似的问题并发现了这篇文章.我在几次尝试后让npm工作的方法是删除所有npm'node_module'文件夹并删除任何npm配置文件,特别是主目录中的.npmrc文件.

然后我跑'sudo apt-get purge nodejs'.

我使用以下命令转到安装程序并重新安装了nodejs:

'curl https://npmjs.org/install.sh | sh'
Run Code Online (Sandbox Code Playgroud)

然后跑了:

sudo apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)

最后我跑了:

npm update -g npm
Run Code Online (Sandbox Code Playgroud)

在"更新"功能中发布了关于错误的问题,但它似乎对我有效,而我从1.4到2.7.

我希望这能节省一些时间.


小智 5

这个解决方案对我有用

使用cmd.exe导航到C:\ Program Files(x86)\nodejs,然后在不使用-g的情况下运行安装:

npm install npm
Run Code Online (Sandbox Code Playgroud)