我正在尝试升级到最新版本的节点。我在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命令?
**编辑**
警告!做chmod 777是一个相当激进的解决方案。先试试这些,一次一个,其中一个管用就停止:
$ sudo chmod -R 777 /usr/local/lib/node_modules/npm
$ sudo chmod -R 777 /usr/local/lib/node_modules . sh
$ sudo chmod g+w /usr/local/lib
$ sudo chmod g+rwx /usr/local/lib
$ brew postinstall节点是我唯一会遇到问题的安装部分
Permission denied - /usr/local/lib/node_modules/npm/.github
So I
// !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !!
$ sudo chmod -R 777 /usr/local/lib
$ brew postinstall node
中提琴,NPM现在被连接了
$ npm -v
3.10.10
额外的
如果你在lib上使用-R 777,我的建议是将嵌套文件和目录设置为默认设置:
$ find /usr/local/lib -type f -print -exec chmod 644 {} \;
$ find /usr/local/lib -type d -print -exec chmod 755 {} \;
$ chmod /usr/local/lib 755