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

Ste*_*e W 2 mobile node.js npm appium

我试图sudo npm install -g appium在Mac OS 10.12.5上做一个 .

我收到此错误:

info Chromedriver安装为平台'mac'和架构'64'安装Chromedriver版本'2.30'

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

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

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

错误的ERR!代码ELIFECYCLE

错误的ERR!错误1

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

这不是一个重复的问题,因为这个安装尝试是与sudo,因为另一个不是.

Lon*_*yen 21

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

为我工作


小智 12

你正在使用 npm 所以你必须使用

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


Aza*_*ssa 7

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

考虑将 npm 设置为在无需提升权限的情况下进行全局操作。有关详细信息,请参阅解决权限错误。

选项1

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

1.安装nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

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

2. 要下载并安装 NodeJS 的最新 LTS 版本,请运行:

nvm install --lts
Run Code Online (Sandbox Code Playgroud)

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

nvm alias default lts/*
Run Code Online (Sandbox Code Playgroud)

选项 2(不适用于 Windows)

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

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


Ste*_*e W 0

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