我尝试在 Mac OS 10.12.5 上执行
sudo npm install -g appium
。
我收到此错误:
信息 Chromedriver 安装 为平台“mac”和架构“64”安装 Chromedriver 版本“2.30”
信息 Chromedriver 安装打开临时文件以将 chromedriver_mac64 写入...
错误:EACCES:权限被拒绝,mkdir
'/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/2017820-44752-12jfqpb.z2hd'
npm 错误!代码 ELIFECYCLE
npm 错误!错误号 1
npm 错误! [电子邮件受保护] 安装:
npm 错误!退出状态1 npm 错误!node install-npm.js
这不是重复问题,因为此安装尝试是使用 sudo 进行的,而另一个则不是。
sudo npm install -g appium --unsafe-perm=true --allow-root
为我工作
你正在使用 npm 所以你必须使用
sudo npm install --unsafe-perm
您运行的每个命令都处于不安全模式
希望它会有所帮助
-g
选项意味着全局安装。当软件包全局安装时,可能会发生EACCES
权限错误。
考虑设置 npm 以在无需提升权限的情况下进行全局操作。请参阅解决权限错误了解更多信息。
选项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
我重新安装了 Node/NPM。问题解决了。