sudo: npm: 命令未找到。

367

我想升级到最新版本的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工作?


6
这个命令可以吗?sudo /usr/bin/npm install -g n - robertklep
2
你可以尝试重新安装Node吗?听起来好像你删除了npm。 - Jeff Sloyer
1
你可能已经将/usr/local/node/bin添加到了 $PATH 中,但是 npm 应该安装在 /usr/local/bin中。第一个目录不在 secure_path 中,这就解释了为什么 sudo 找不到它。 - robertklep
8
在Ubuntu上使用nvm - 根据@robertklep的评论,我尝试了sudo/home/${user}/.nvm/version/node/${version}/bin/npm install,并且它起作用了。 - Stav Geffen
2
通过从以下软件包重新安装解决了我的问题。https://nodejs.org/en/download/ - Marghoob Suleman
显示剩余10条评论
31个回答

-15
安装Node.js,然后简单运行即可。
npm install -g bower 

从您的项目目录中


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接