试着
sudo npm install protractor -g
和同样的臭名昭著的错误/警告再次(谷歌搜索无用):
gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/dmitrizaitsev/.node-gyp/0.12.0"
似乎发生的情况是,尽管node version 0.12.0
是我机器上的当前节点版本,但在相同的安装过程中,它会一次又一次地被下载和重新构建:
node -v
v0.12.0
问题:
node v0.12.0
和上次使用成功重建期间都没有创建此目录?如何才能防止这种情况发生?
我运行的是Mac OSX 10.8.5,如果这很重要的话。
发布于 2015-04-22 12:00:16
更新。还有一种更好的方法-将npm
的默认全局目录更改为您已经拥有正确权限的用户子目录,这样就不需要首先打乱系统文件的权限或所有权。
按照https://docs.npmjs.com/getting-started/fixing-npm-permissions中的建议
为全局installations:创建一个目录
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
~/.profile
(或~/.bash_profile
等)文件并添加以下行(在文件末尾):export PATH=~/.npm-global/bin:$PATH
source ~/.profile
或 source ~/.bash_profile
另请参阅Sindre Sorhus的主题指南:https://github.com/sindresorhus/guides/blob/master/npm-global-without-sudo.md
现在已经找出了问题所在:
该目录有错误的权限-它不是可写的(这将是一个比“可访问”更好的错误消息)。
因为它是不可写的,所以每次使用后都会使用和删除一个临时目录,这就是为什么整个下载必须一次又一次地运行。
解决方案是使用以下命令设置用户权限
sudo chown -R $USER <directory>
再也不要sudo npm
了。似乎每当你运行sudo npm
时,创建的所有子目录都会获得错误的权限,这将导致以后的问题。
发布于 2015-04-22 06:10:59
尝试使用:
sudo npm安装不安全模块 -g -perm
发布于 2015-10-17 00:10:24
这是因为您在目录"/Users/dmitrizaitsev/.node-gyp/0.12.0“中没有文件夹。
只需创建一个名为0.12.0 的新文件夹,这是您的节点的版本号
它会解决这个问题。
https://stackoverflow.com/questions/29468404
复制相似问题