我正在尝试升级到最新版本的节点。我在http://davidwalsh.name/upgrade-nodejs上按照说明操作

但当我这样做的时候:

sudo npm install -g n

我得到了错误:

sudo: npm: command not found

NPM没有sudo也能工作。当我这样做的时候:

whereis node

我明白了:

node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node

运行:

which npm

显示:

/usr/local/node/bin/npm

我在https://stackoverflow.com/a/5062718/1246159上尝试了解决方案

但还是得到相同的错误。我还查看了/etc/sudoers文件,相关行是:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

在我看来这很好。我怎么可能得到NPM工作与sudo命令?


当前回答

而不是重新安装节点,这似乎是公认的解决方案,问题是没有权限到nodejs文件夹/usr/local。 输入如下命令sudo chmod -R 777 /usr/local/nodejs/

其他回答

我必须做到以下几点:

酿造更新 Brew卸载节点 访问https://nodejs.org/en/下载该文件 安装下载的文件

npm文件应该在/usr/local/bin/npm.如果没有,请在他们的网站上重新安装node.js。这对我来说很管用。

在macOS上,这对我来说很管用:

brew reinstall node

我也有同样的问题;下面是修复它的命令:

Sudo ln -s /usr/local/bin/node /usr/bin/node Sudo ln -s /usr/local/lib/node /usr/lib/node Sudo ln -s /usr/local/bin/npm /usr/bin/npm Sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

对于CentOS用户,这适用于我:

sudo yum install npm