我不知道我是如何管理它的,但是npm似乎需要sudo
来完全支持所有命令,即使没有sudo,npm help
也行不通。如果我使用没有sudo
的命令,我看不到EACCESS
错误,而是我的终端会话挂起然后关闭该选项卡(我在Mac上使用iTerm)。
我尝试更改本地.npm
文件夹的所有权,概述了here,并且在安装了节点的/usr/local/bin
文件夹中也做了同样的事情,但这些都不允许我这样做在没有sudo
的情况下运行npm,即使安装本地软件包......!在我看来,有什么东西搞砸了,有人可以帮忙吗?
非常感谢
答案 0 :(得分:2)
我今天全新安装0.12.4后遇到了同样的错误;这解决了我的问题:
sudo chown -R $(whoami):admin /usr/local/lib/node_modules
在我的特定情况下,我注意到这个文件夹归'{some-large-integer-account}:wheel'所有...... YMMV
如果仍无法解决问题,请查看EACCESS错误跟踪中提到的被阻止文件夹的所有权。如果您不确定应该的所有权,您通常可以从兄弟姐妹的所有权中推断出来。
答案 1 :(得分:0)
我的机器上也有这个。我做了什么来解决它(可能有更少的极端方法)是完全删除npm,然后从http://nodejs.org/做了一个全新的安装node.js(包括npm)确保我没有安装作为根。然后,这允许我使用没有root的npm(全局安装除外)。
答案 2 :(得分:0)
以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) | 629ms