Cordova:命令失败,退出代码为 EACCES

Cordova : Command failed with exit code EACCES

当我执行 "cordova platform add android" 命令时 return 这个 :

Error: /Users/brieuc/.cordova/lib/android/cordova/3.6.4/bin/create: Command failed with exit code EACCES at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23) at ChildProcess.emit (events.js:95:17) at Process.ChildProcess._handle.onexit (child_process.js:818:12)

我读到这可能是权限问题所以我尝试使用 "sudo cordova platform add android" 但同样的错误是 returned.

我还尝试在我的项目文件夹和平台文件夹上使用 chmod 777。

我尝试删除 platforms 文件夹,然后重新创建了该文件夹,然后 return 编辑了同样的错误。

供您参考,命令 "java"、"ant"、"cordova"、"npm" 都可以识别。

我唯一的猜测是我的 SDK 路径错误。

这是我所做的:

(我在 Mac Yosemite 上获取信息)

我下载了 Standalone SDK 工具。

我创建了一个文件夹/Development/Android并添加了解压下载的文件夹(android-sdk-macosx)。

请注意,"platforms" 文件夹是空的。

我添加到 /etc/paths /Development/Android/android-sdk-macosx/tools

的路径

我不确定它应该在这里,任何提示或解决方案将不胜感激。

我认为问题不在您的项目上。问题似乎在

/Users/brieuc/.cordova/lib/android/cordova/3.6.4/bin/create

没有必要的执行权限。尝试为该文件夹应用类似此命令的内容

chmod -R 777 /Users/brieuc/.cordova/lib/android/cordova/3.6.4/bin

它应该赋予它所有权利,从而让 create 被执行。

@Brieuc 这是您的新问题的解决方案。

您需要在您家中的 .profile 文件中指定 Android SDK 路径。

在终端中,

sudo nano ~/.profile

然后在末尾添加这些行,保存并关闭.profile。 (您的 Android SDK 和 ANT 可能有不同的路径。现在可能不需要为您设置 ANT 路径)

export ANT_HOME=/usr/share/ant
export ANDROID_HOME=/home/sagun/bin/android-sdk
export PATH=$PATH:$ANT_HOME/bin:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

现在在终端,您必须通知 OS 您对 .profile

所做的更改
source ~/.profile

如果不行,请重新启动 linux

现在,您可能仍然面临一些权限问题,为此请导航至您的 android-sdk/tools,然后输入

chmod +x android

希望对您有所帮助:)