npm install: 错误: EACCES: 权限被拒绝, 创建目录

16
我在Mac OS 10.12.5上尝试执行sudo npm install -g appium命令。
我遇到了以下错误:
info Chromedriver Install Installing Chromedriver version '2.30' for platform 'mac' and architecture '64'

info Chromedriver Install Opening temp file to write chromedriver_mac64 to...

Error: EACCES: permission denied, mkdir 

'/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/2017820-44752-12jfqpb.z2hd'

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! appium-chromedriver@3.0.1 install: `node install-npm.js`
npm ERR! Exit status 1
npm ERR! 

这不是一个重复的问题,因为这次安装尝试是使用sudo进行的,而另一个问题则不是。

可能是无法在没有sudo的情况下运行npm时出现错误的重复问题。 - glennsl
即使使用了 sudo,我仍然遇到了相同的错误,后来发现我的网络连接已经断开。重新连接后问题得到解决。 - Pavindu
4个回答

58
sudo npm install -g appium --unsafe-perm=true --allow-root

工作对我来说很有效。

对我很有用。在谷歌上搜了15-20分钟后,我尝试了这个方法。非常简单。 - MechaCode

13

你正在使用npm,因此必须使用

sudo npm install --unsafe-perm
以不安全模式运行每个命令
希望这可以帮助解决问题。


7
-g选项表示全局安装。当包全局安装时,可能会出现EACCES权限错误。
考虑设置npm在没有提升权限的情况下进行全局操作。有关更多信息,请参见解决权限错误

选项1

避免权限问题的最佳方法是使用node版本管理器重新安装NodeJS和npm。

1. 安装nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

你可以关闭和重新打开终端,或者打开另一个终端并使用以下命令检查nvm是否已正确安装:command -v nvm
下载并安装最新的NodeJS LTS版本,请运行以下命令:
nvm install --lts

3. 将新安装的NodeJS设置为默认环境:

nvm alias default lts/*

选项 2(不适用于 Windows)

将 npm 目录的所有者更改为当前用户:

sudo chown -R $(your_user) /usr/local/{lib/node_modules,bin,share}
sudo chown -R $(your_user) ~/.npm ~/.npmrc

0

我重新安装了Node/NPM。问题解决了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接