Cordova:尝试添加Android平台时出现EACCES错误.更改 PATH 并不能修复它

Cordova: EACCES error when trying to add Android platform. Changing PATH doesn't fix it

本文关键字:更改 错误 EACCES PATH 并不能 添加 Android 平台 Cordova      更新时间:2023-09-26

我正在尝试让Android平台在Cordova上运行,但是我遇到了似乎是权限问题。

kevin@CM-Ubuntu-Main:~/workspace/HelloCordova$ cordova platform add android
Error: EACCES, open '/home/kevin/.cordova/lib/npm_cache/cordova-android/3.6.4/package/.npmignore'

我知道很多似乎有同样问题的人通过将Android SDK添加到他们的PATH变量中来修复它。我试过了,它似乎不起作用。我可以直接从终端运行"android"并使用更新管理器,但 Cordova 似乎仍然无法识别它。

以下是我的一些环境变量,以防万一看起来不对劲。

kevin@CM-Ubuntu-Main:~/workspace/HelloCordova$ printenv
ANDROID_HOME=/home/kevin/.android-sdk-linux/sdk/tools
PATH=
    /usr/local/heroku/bin:
    /home/kevin/bin:
    /usr/lib/lightdm/lightdm:
    /usr/local/sbin:
    /usr/local/bin:
    /usr/sbin:
    /usr/bin:
    /sbin:
    /bin:
    /usr/games:
    /home/kevin/.android-sdk-linux/sdk/tools:
    /home/kevin/.android-sdk-linux/sdk/platform-tools
PWD=/home/kevin/workspace/HelloCordova
JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
HOME=/home/kevin

我看到其他用户发现这是一个权限问题,所以我尝试使用 sudo chown -R $(whoami) 来修复我的~/.npmnode-modules文件夹,但这也没有帮助。我终于尝试使用本指南在全球范围内重新安装 Node.js、npm 和 Cordova,以便用户和 root 都可以访问所有内容,这似乎适用于使用 Node 的其他所有内容。我也可以在Cordova中构建浏览器目标,所以问题可能出在Android上,但我无法弄清楚下一步该怎么做。

以下是我正在使用的软件版本:

Ubuntu 12.04
node 0.10.26
npm 1.4.3
cordova 4.2.0
Android APIs 21, 20, 19, 18, and 10 

我最终重新安装了科尔多瓦,但权限仍然设置错误。在有问题的文件夹上运行chown(例如 /home/kevin/.cordova/lib/npm_cache/cordova-android/3.6.4/package/ )以确保用户拥有它而不是root似乎已经修复了它。