【发布时间】:2015-02-06 18:33:42
【问题描述】:
我已经使用以下命令在我的 Ubuntu 机器上安装了 nodejs + npm:
curl -sL https://deb.nodesource.com/setup | bash -
apt-get install -y nodejs
并且,为了to use yeoman without sudo,我使用了以下命令:
echo prefix = ~/.node >> ~/.npmrc
export PATH="$PATH:$HOME/.node/bin"
在那之后,我无法更新 NPM。如果我运行npm update -g npm,版本号不会改变,但是,如果我在echo prefix 命令之前运行更新命令,则更新有效并且npm 被更新。
【问题讨论】:
-
以下命令的输出是什么:
which npm -
@JevZelenkov 输出为
/usr/bin/npm -
您能否运行以下命令并说出符号链接指向
ls -l /usr/bin/npm的位置? -
@JevZelenkov 我运行了命令,这是输出:
lrwxrwxrwx 1 root root 38 Jan 28 19:03 /usr/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js -
我已经尝试了所有路径更改、重置、关闭和重新打开但不起作用(不要更改版本)。但我看到了一个新的东西。如果我运行
npm install -g npm关闭并重新打开终端,版本号就会更新!新安装的输出:/home/nicolocodev/.node/bin/npm -> /home/nicolocodev/.node/lib/node_modules/npm/bin/npm-cli.js npm@2.4.1 /home/nicolocodev/.node/lib/node_modules/npm