npm install:错误:EACCES:权限被拒绝,mkdir

时间:2017-09-20 17:25:02

标签: node.js mobile npm appium

我尝试在Mac OS 10.12.5上执行sudo npm install -g appium

我收到此错误:

  

info Chromedriver安装安装Chromedriver版本' 2.30'对于平台' mac'和建筑' 64'

     

info Chromedriver安装打开临时文件将chromedriver_mac64写入...

     

错误:EACCES:权限被拒绝,mkdir

     

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

     

npm ERR!代码ELIFECYCLE

     

npm ERR!错误1

     

npm ERR! appium-chromedriver@3.0.1安装:node install-npm.js   错误的ERR!退出状态1   错误的ERR!

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

4 个答案:

答案 0 :(得分:11)

  

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

为我工作

答案 1 :(得分:1)

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

sudo npm install --unsafe-perm
在不安全模式下,您运行的每个命令
 希望会有所帮助

答案 2 :(得分:0)

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

答案 3 :(得分:0)

-g 选项表示全局安装。当软件包全局安装时,可能会发生 EACCES 权限错误。

考虑将 npm 设置为在没有提升权限的情况下全局运行。有关详细信息,请参阅 Resolving Permission Errors

选项 1

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

1.安装 nvm

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

您可以关闭并重新打开终端,只需打开另一个终端并使用以下命令检查 nvm 是否已正确安装:command -v nvm

2.要下载并安装 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