我想升级到最新版本的node。我正在按照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://dev59.com/hG445IYBdhLWcg3wOnrW#5062718上的解决方案,但是我仍然遇到同样的错误。我还查看了/etc/sudoers
文件,相关行是:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
我认为这看起来很好。我该如何使用sudo命令使NPM工作?
sudo /usr/bin/npm install -g n
- robertklep/usr/local/node/bin
添加到了$PATH
中,但是npm
应该安装在/usr/local/bin
中。第一个目录不在secure_path
中,这就解释了为什么sudo
找不到它。 - robertklepnvm
- 根据@robertklep的评论,我尝试了sudo/home/${user}/.nvm/version/node/${version}/bin/npm install
,并且它起作用了。 - Stav Geffen