gyp WARN EACCES 用户 "root" 没有访问开发目录的权限
gyp WARN EACCES user "root" does not have permission to access the dev dir
正在尝试
sudo npm install protractor -g
又是同样臭名昭著的 error/warning(谷歌搜索无果):
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
问题:
目录“/Users/dmitrizaitsev/.node-gyp/0.12.0”居然不见了!为什么会有这样的误导性信息?
为什么在 node v0.12.0
期间和之前使用 node-gyp
成功重建期间都没有创建此目录?
(显然)我怎样才能防止这种情况发生?
I 运行 Mac OSX 10.8.5 如果这很重要的话。
试试:
sudo npm install -g module --unsafe-perm
更新。有更好的方法 - 将 npm
的默认全局目录更改为您已经拥有正确权限的用户子目录,因此无需首先弄乱系统文件的权限或所有权。
按照建议
https://docs.npmjs.com/getting-started/fixing-npm-permissions:
- Make a directory for global installations:
mkdir ~/.npm-global
- Configure npm to use the new directory path:
npm config set prefix '~/.npm-global'
- Open or create a
~/.profile
(or ~/.bash_profile
etc) file and add this line (at the end of the file):
export PATH=~/.npm-global/bin:$PATH
- On the command line, update your system variables:
source ~/.profile
或 source ~/.bash_profile
另请参阅 Sindre Sorhus 关于该主题的指南:https://github.com/sindresorhus/guides/blob/master/npm-global-without-sudo.md
现在弄清楚是哪里出了问题:
该目录有错误的权限 - 它不是 可写的(这本来是比 "accessible" 更好的错误消息)。
而且由于不可写,每次使用后都会使用一个临时目录并删除,这就是为什么整个下载不得不运行一次又一次。
解决办法是用
设置用户权限
sudo chown -R $USER <directory>
再也不会sudo npm
了。
似乎每当你运行 sudo npm
,创建的所有子目录都获得了错误的权限,这将导致以后出现问题。
.
那是因为您在这个目录“/Users/dmitrizaitsev/.node-gyp/0.12.0”中没有文件夹。
只需创建一个名为 0.12.0 的新文件夹这是您节点的版本号
它将解决问题。
正在尝试
sudo npm install protractor -g
又是同样臭名昭著的 error/warning(谷歌搜索无果):
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
问题:
目录“/Users/dmitrizaitsev/.node-gyp/0.12.0”居然不见了!为什么会有这样的误导性信息?
为什么在
node v0.12.0
期间和之前使用node-gyp
成功重建期间都没有创建此目录?(显然)我怎样才能防止这种情况发生?
I 运行 Mac OSX 10.8.5 如果这很重要的话。
试试:
sudo npm install -g module --unsafe-perm
更新。有更好的方法 - 将 npm
的默认全局目录更改为您已经拥有正确权限的用户子目录,因此无需首先弄乱系统文件的权限或所有权。
按照建议 https://docs.npmjs.com/getting-started/fixing-npm-permissions:
- Make a directory for global installations:
mkdir ~/.npm-global
- Configure npm to use the new directory path:
npm config set prefix '~/.npm-global'
- Open or create a
~/.profile
(or~/.bash_profile
etc) file and add this line (at the end of the file):
export PATH=~/.npm-global/bin:$PATH
- On the command line, update your system variables:
source ~/.profile
或 source ~/.bash_profile
另请参阅 Sindre Sorhus 关于该主题的指南:https://github.com/sindresorhus/guides/blob/master/npm-global-without-sudo.md
现在弄清楚是哪里出了问题:
该目录有错误的权限 - 它不是 可写的(这本来是比 "accessible" 更好的错误消息)。
而且由于不可写,每次使用后都会使用一个临时目录并删除,这就是为什么整个下载不得不运行一次又一次。
解决办法是用
设置用户权限sudo chown -R $USER <directory>
再也不会sudo npm
了。
似乎每当你运行 sudo npm
,创建的所有子目录都获得了错误的权限,这将导致以后出现问题。
那是因为您在这个目录“/Users/dmitrizaitsev/.node-gyp/0.12.0”中没有文件夹。
只需创建一个名为 0.12.0 的新文件夹这是您节点的版本号
它将解决问题。