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

时间:2015-01-17 20:36:41

标签: node.js ubuntu 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

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

npm@2.1.3 /home/ekrem/.node/lib/node_modules/ionic/node_modules/npm

点击npm -v

1.4.28

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

➜  ~  which node
/usr/bin/node
➜  ~  which npm 
/usr/bin/npm
➜  ~  less ~/.npmrc
prefix = ~/.node

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

更新:

我删除了nodejs;清除~/.node&下的文件使用说明here的第一种方法安装~/.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

5 个答案:

答案 0 :(得分:7)

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

然后我跑了' sudo apt-get purge nodejs'。

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

'curl https://npmjs.org/install.sh | sh'

然后跑了:

sudo apt-get install nodejs

最后我跑了:

npm update -g npm

在“更新”中发布了有关错误的问题。功能,但它似乎对我有用,我从1.4到2.7。

我希望能节省一些时间。

答案 1 :(得分:5)

此解决方案适合我

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

npm install npm

答案 2 :(得分:2)

在我的情况下,我必须执行以下步骤,从 npm@1.4.28 转到 npm@3.2.0 (目前是最新的):

curl -L https://www.npmjs.org/install.sh | sudo sh

此行可能会触发一些错误,例如:

Error: EACCES, mkdir '/usr/lib/node_modules/npm'

如果是这样,只需运行:

sudo rm -rf /usr/lib/node_modules/npm(或错误中指定的目录显示)

从那里:

sudo npm install -g npm@3.0-latest

现在

npm -v

成功展示了一个漂亮的:3.2.0

答案 3 :(得分:1)

有很多关于“npm update -g”被破坏并暂时不使用它的评论:

https://github.com/npm/npm/issues/6247

我尝试重置或重新安装npm然后从那里开始 - 重新安装npm应该是相对轻松的并且解决问题:

https://github.com/npm/npm/wiki/Troubleshooting#if-your-npm-is-broken

答案 4 :(得分:0)

@ThinkBonobo的类似答案,但我所要做的就是直接从npmjs.org运行更新。来自新配置的实例:

$curl -sL https://deb.nodesource.com/setup | sudo bash -
$sudo apt-get install nodejs
$npm -v
1.4.28
$curl -L https://npmjs.org/install.sh | sudo sh
$npm -v
2.7.3

没有其他步骤被要求。