cordova build命令失败,退出代码为EACCES

时间:2014-06-25 13:06:25

标签: node.js cordova npm cordova-3

Cordova构建失败,错误代码为:EACCESS

$ cordova build android
Running command: /home/user/proj1/platforms/android/cordova/build 
execvp(): Permission denied
Error: /home/user/proj1/platforms/android/cordova/build: Command failed with exit code EACCES
    at ChildProcess.whenDone (/usr/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
    at ChildProcess.EventEmitter.emit (events.js:95:17)
    at Process.ChildProcess._handle.onexit (child_process.js:795:12)

 ======================================   
     OS  : Ubuntu 14.04
     npm version: 1.4.16
     cordova version : 3.5.0-0.2.4
 ======================================

已将android平台添加到proj1 试图重新安装cordova但没有工作

9 个答案:

答案 0 :(得分:47)

由于某种原因,build目前不是可执行文件。要解决此问题,请打开终端并输入以下命令:

$ cd <your-project-directory>/platforms/android/cordova
$ chmod a+x build

答案 1 :(得分:10)

这是一个常见的PhoneGap问题。

大部分时间都与build文件夹和脚本文件的权限有关。

尝试使用:chmod a+x

答案 2 :(得分:7)

您应该为两个文件添加权限:

转到Cordova根目录并运行:

chmod a+x platforms/android/gradlew
chmod a+x platforms/android/cordova/build

答案 3 :(得分:6)

要解决EACCESS问题,请复制并保存平台​​自定义图标/ splashes / config.xml设置并删除平台文件夹。之后运行phonegap再次从你的控制台运行android。它应该再次工作。之后,将自定义文件/设置复制回新平台文件夹。

答案 4 :(得分:6)

我的建议是删除if not (set(sys.argv) & valid_commands): 目录,然后重新安装每个平台。

platforms

运行$ cd <your-project-directory> $ rm -r platforms # -or- manually remove the directory $ cordova platform add <platform> # ios, android, ... (按照接受的答案中的建议)并不能解决chmod a+x build权限问题。更安全(更容易)将每个平台恢复到默认状态,而不是黑客攻击(并记住)单个文件/目录的权限更改。

答案 5 :(得分:3)

通过删除map / platforms / android解决了我的问题。之后我再次添加了平台。

cordova平台添加android

对我而言,它已经成功了,但我认为这个错误有很多原因。

<强>!备份你的图标!

请记住在/ platforms / android / res /中备份您的图标 或者将整个地图复制为备份,以确保您不会丢失工作......

答案 6 :(得分:3)

如果您是管理员而且只是项目根目录中的sudo chmod -R 777 ./platforms/,您可以强制它。

答案 7 :(得分:0)

很难在这里诊断问题。您可以在问题描述中添加更多信息吗?

对于我所看到的,这并不是太多,这是因为其中一个可执行文件没有为您的用户提供正确的exec权限(假设您的输出符合Ubuntu 14.04)。

确保Android SDK工具和平台工具以及Oracle JDK和Ant在您的PATH中具有适当的权限。否则,请在此处填写更多信息。

答案 8 :(得分:0)

我有同样的问题,经过无数次的试验和错误后解决了它。我实际上已经获得了BUILD SUCCESS 问题是改变environemnt变量..

  

JAVA_HOME:c:\ Program Files(x86)\ Java \ jre
  路径:c:\ Program Files(x86)\ Java \ jdk1.x.x \ bin

  

JAVA_HOME:c:\ Program Files(x86)\ Java \ jdk1.x.x \ jre
  路径:c:\ Program Files(x86)\ Java \ jdk1.x.x \ bin

注意:JAVA_HOME必须指向 JDK / JRE (jdk的jre子)。我安装了jre和jdk。似乎我需要为cordova-CLI安装两个以在windows8.1上工作 我希望这会有所帮助。