无法将 npm 从 1.4.28 升级到最新版本 (2.2)
Unable to upgrade npm from 1.4.28 to latest (2.2)
我在 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
和 ~/.npm
下的文件(正如@johns 所建议的)使用说明 here 的第一种方法安装。以下是更新后的输出:
➜ 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
有很多关于 "npm update -g" 被破坏且暂时不使用它的评论:
https://github.com/npm/npm/issues/6247
我会尝试重置或重新安装 npm,然后从那里开始 - 全新重新安装 npm 应该相对轻松并解决问题:
https://github.com/npm/npm/wiki/Troubleshooting#if-your-npm-is-broken
这个解决方案对我有用
使用 cmd.exe 导航到 C:\Program Files (x86)\nodejs,然后 运行 在没有 -g 的情况下进行安装:
npm install npm
我遇到了类似的问题并发现了这个 post。经过几次尝试后,我让 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
关于那个 'update' 函数中的错误 post 有问题,但它似乎对我有用,我从 1.4 升级到 2.7。
我希望这可以节省一些时间。
@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
不需要其他步骤。
在我的例子中,我必须执行以下步骤才能从 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
我在 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
和 ~/.npm
下的文件(正如@johns 所建议的)使用说明 here 的第一种方法安装。以下是更新后的输出:
➜ 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
有很多关于 "npm update -g" 被破坏且暂时不使用它的评论:
https://github.com/npm/npm/issues/6247
我会尝试重置或重新安装 npm,然后从那里开始 - 全新重新安装 npm 应该相对轻松并解决问题:
https://github.com/npm/npm/wiki/Troubleshooting#if-your-npm-is-broken
这个解决方案对我有用
使用 cmd.exe 导航到 C:\Program Files (x86)\nodejs,然后 运行 在没有 -g 的情况下进行安装:
npm install npm
我遇到了类似的问题并发现了这个 post。经过几次尝试后,我让 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
关于那个 'update' 函数中的错误 post 有问题,但它似乎对我有用,我从 1.4 升级到 2.7。
我希望这可以节省一些时间。
@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
不需要其他步骤。
在我的例子中,我必须执行以下步骤才能从 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