我正在尝试升级到最新版本的节点。我正在按照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"
在我看来,这很好。如何使用sudo命令使NPM正常工作?
/usr/local/node/bin
到$PATH
,但npm
应安装在中/usr/local/bin
。第一个目录不在secure_path
其中,它解释了为什么sudo
找不到它。
nvm
在此处在Ubuntu上使用-带有@robertklep注释,我尝试了sudo /home/${user}/.nvm/version/node/${version}/bin/npm install
并且成功了。
sudo /usr/bin/npm install -g n