Android 通过npm安装Appium会抛出错误“0”;“拒绝许可”;类型

Android 通过npm安装Appium会抛出错误“0”;“拒绝许可”;类型,android,node.js,npm,appium,Android,Node.js,Npm,Appium,正在尝试为node.js安装appium软件包,但出现了一个问题,说明mkdir的权限被拒绝 我试着以不同的方式运行这个命令,但以root用户的身份运行并没有太大变化。以前有人犯过这样的错误吗 Dmytros-MacBook-Pro:~ root# npm install -g appium /usr/local/bin/appium -> /usr/local/lib/node_modules/appium/build/lib/main.js > appium-chromedr

正在尝试为node.js安装appium软件包,但出现了一个问题,说明mkdir的权限被拒绝

我试着以不同的方式运行这个命令,但以root用户的身份运行并没有太大变化。以前有人犯过这样的错误吗

Dmytros-MacBook-Pro:~ root# npm install -g appium
/usr/local/bin/appium -> 
/usr/local/lib/node_modules/appium/build/lib/main.js

> appium-chromedriver@4.0.0 install 
/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver
> node install-npm.js

(node:8302) UnhandledPromiseRejectionWarning: Error: EACCES: 
permission denied, mkdir 
'/usr/local/lib/node_modules/appium/node_modules/appium- 
chromedriver/201866-8302-85r6wr.u3tan'
(node:8302) UnhandledPromiseRejectionWarning: Unhandled promise 
rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:8302) [DEP0018] DeprecationWarning: Unhandled promise rejections 
are deprecated. In the future, promise rejections that are not handled 
will terminate the Node.js process with a non-zero exit code.
info Chromedriver Install Installing Chromedriver version '2.38' 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/201866-8302-y2j8ui.tqs2'
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! appium-chromedriver@4.0.0 install: `node install-npm.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the appium-chromedriver@4.0.0 install script.
npm ERR! This is probably not a problem with npm. There is likely 
additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /var/root/.npm/_logs/2018-07-07T02_06_56_333Z-debug.log

这个命令解决了这个问题


sudo npm安装-g appium--unsafe perm=true--allow root
sudo npm安装-g appium--unsafe perm=true--allow root


此命令也解决了我的问题

如果要安装特定版本的appium,请使用下面的命令。 我使用的是1.13,所以我使用了下面相同的

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

如果您在安装特定版本的appium时遇到任何问题,请告诉我。

这似乎是所需文件夹的权限问题。而上述解决方案的效果绝对不错。它们都未指定使用最新版本。我建议始终使用最新的appium(或其他)版本。因此,理想的命令是:
sudo npm安装-gappium@latest--unsafe perm=true--allow root

我试图通过npm在一个不是
/usr/local/
所有者的用户上全局安装
appium
。这导致了OP中的问题。运行此命令解决了我的问题。为了添加更多的上下文,我想进一步了解以下命令的作用<代码>--unsafe perm=true。此解决方案在中提到。