为什么npm需要一切sudo?
我不知道我是如何pipe理的,但npm似乎需要sudo
才能完成每个命令,即使npm help
也不能在没有sudo的情况下运行。 如果我没有sudo
使用命令,我没有看到EACCESS
错误,而是terminal会话挂起,然后closures该选项卡(我在Mac上使用iTerm)。
我试图改变我的本地.npm
文件夹的所有权, 这里概述,也做了我的/usr/local/bin
文件夹,其中节点安装,但没有这些允许我只是没有sudo
运行npm,甚至当安装本地包…! 在我看来,有什么事情一路顺风,谁能帮忙?
非常感谢
我今天刚安装了0.12.4后遇到同样的错误; 这解决了我的问题:
sudo chown -R $(whoami):admin /usr/local/lib/node_modules
在我的具体情况,我注意到这个文件夹是由“{一个大整数帐户:轮”拥有… … YMMV
如果这样做不能解决问题,请查看EACCESS错误跟踪中提到的被阻止的文件夹的所有权。 如果你不确定所有权应该是什么,你通常可以从兄弟姐妹的所有权中推断出来。
我的机器上也有这个。 我做了什么来解决这个问题(可能有更less的极端方法)是完全删除npm,然后从http://nodejs.org/做了一个全新的安装node.js(包括npm),确保我没有以root身份安装。 这就允许我使用没有根目录的npm(全局安装除外)。
以ember项目为例,我给所有相关的项目目录root:
neil@neil-System-Product-Name:~/Projects/ember-quickstart$ sudo chown -R $(whoami) /home/neil/Projects/ember-quickstart/
neil@neil-System-Product-Name:~/Projects/ember-quickstart$ ember s Could not start watchman Visit https://ember-cli.com/user-guide/#watchman for more info. Livereload server on http://localhost:7020 Build successful (10679ms) – Serving on http://localhost:4200/ Slowest Nodes (totalTime => 5% ) | Total (avg)
----------------------------------------------+--------------------- Babel (18) | 7561ms (420 ms)
Concat (8) | 1872ms (234 ms)
Rollup (1) | 629msneil@neil-System-Product-Name:~/Projects/ember-quickstart$ ember s Could not start watchman Visit https://ember-cli.com/user-guide/#watchman for more info. Livereload server on http://localhost:7020 Build successful (10679ms) – Serving on http://localhost:4200/ Slowest Nodes (totalTime => 5% ) | Total (avg)
----------------------------------------------+--------------------- Babel (18) | 7561ms (420 ms)
Concat (8) | 1872ms (234 ms)
Rollup (1) | 629ms