【问题标题】:cordova build Command failed with exit code EACCEScordova build 命令失败,退出代码 EACCES
【发布时间】:2014-08-16 01:37:47
【问题描述】:

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,但没有成功

【问题讨论】:

    标签: node.js cordova npm cordova-3


    【解决方案1】:

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

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

    【讨论】:

    • 我遇到了类似的问题,但使用的是“platforms/android/gradlew”。尝试在“gradlew”目录上运行 chmod,效果很好!
    • 我还需要在 android 文件夹中的 gradlew 上执行此操作,以便为 Android 构建。
    • 谢谢!在 macos 更新到 10.15 (catalina) 后,这出现在我身上。
    【解决方案2】:

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

    转到 Cordova 根目录并运行:

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

    【讨论】:

    • gradlew 权限对我来说是个问题。仅更新 cordova 构建文件的权限并不能解决我的问题。但是不确定是什么原因造成的。 ty
    • 这个答案帮助了我。
    【解决方案3】:

    这是一个常见的 PhoneGap 问题。

    大多数时候它与build 文件夹和脚本文件的权限有关。

    尝试在他们身上使用:chmod a+x

    【讨论】:

    • 我真的感受到了你的痛苦,但出于显而易见的原因而投反对票...... cmon!尝试提供更多帮助!
    • 你能说明如何使用 chmod a+x 行吗?或者你只是在父文件夹中输入它并按回车键?
    • 你必须chmod a+x /directory/file才能让它工作。见:linux.org/threads/file-permissions-chmod.4094
    • 我还需要在 android 文件夹中的 gradlew 上执行此操作,以便为 Android 构建它。
    【解决方案4】:

    我的建议是删除platforms 目录,然后重新安装每个平台。

    $ cd <your-project-directory>
    $ rm -r platforms  # -or- manually remove the directory
    $ cordova platform add <platform>  # ios, android, ...
    

    运行 chmod a+x build(如已接受的答案中所建议)不能解决 cordova platform rm &lt;platform&gt; 权限问题。更安全(也更容易)将每个平台恢复到其默认状态,而不是破解(并记住)单个文件/目录的权限更改。

    【讨论】:

    • 最安全的解决方案
    【解决方案5】:

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

    【讨论】:

      【解决方案6】:

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

      cordova平台添加android

      对我来说,它解决了,但我认为显示此错误的原因有多种..

      !备份你的图标!

      记得把你的图标备份到 /platforms/android/res/ 或者复制整个地图作为备份,以确保您不会丢失您的工作......

      【讨论】:

        【解决方案7】:

        如果您是管理员并且只是来自项目根目录的sudo chmod -R 777 ./platforms/,则可以暴力破解。

        【讨论】:

          【解决方案8】:

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

          就我所见,这并不算多,这是因为其中一个可执行文件没有为您的用户提供正确的执行权限(假设您在 Ubuntu 14.04 上根据您的输出)。

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

          【讨论】:

          • 这应该是评论,而不是答案
          【解决方案9】:

          我有同样的问题,经过无数次的尝试和错误,今天解决了。我实际上已经获得了 BUILD SUCCESS 的出现。
          问题是改变环境变量..
          来自

          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 上工作。
          我希望这会有所帮助。

          【讨论】:

            猜你喜欢
            • 2015-03-02
            • 2017-09-13
            • 2017-12-18
            • 1970-01-01
            • 2021-07-27
            • 1970-01-01
            • 2018-03-25
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多