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

ia2d9nvy  于 2022-11-15  发布在  其他
关注(0)|答案(9)|浏览(200)

Cordova构建失败,错误代码为:电子访问

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

7xllpg7q

7xllpg7q1#

由于某些原因,组建目前不是可可执行。若要修正这个问题,请开启终端机并输入下列命令:

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

332nm8kg2#

您应该向两个文件添加权限:
转到Cordova根目录并运行:

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

azpvetkf3#

这是一个常见的PhoneGap问题。
大多数情况下,它与build文件夹和脚本文件的权限有关。
尝试对它们使用:chmod a+x

ippsafx7

ippsafx74#

我的建议是删除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 <platform>权限问题。更安全(也更容易)的是将每个平台恢复到默认状态,而不是黑客攻击(并记住)单个文件/目录的权限更改。

carvr3hs

carvr3hs5#

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

ukqbszuj

ukqbszuj6#

我的问题通过删除Map/平台/Android解决了。之后我又添加了平台。
Cordova平台添加Android
对我来说,它的工作,但我认为有多个原因,这个错误显示。

!备份图标!

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

3bygqnnd

3bygqnnd7#

如果你是一个管理员,并且只需要从项目根目录下执行sudo chmod -R 777 ./platforms/,你就可以使用暴力。

mwecs4sa

mwecs4sa8#

很难诊断这里的问题。你能在问题描述中添加更多的信息吗?
就我所看到的,这并不太多,这是因为其中一个可执行文件没有为您的用户提供正确的exec权限(假设您在Ubuntu 14.04上,根据您的输出)。
确保Android SDK工具和平台工具以及Oracle JDK和Ant位于PATH中并具有适当的权限。否则,请在此处输入更多信息。

ki1q1bka

ki1q1bka9#

我有同样的问题,经过无数的试验和错误,今天解决了它。我实际上已经得到建设成功出现。
问题是改变环境变量。

来自

Java_HOME:c:\程序文件(x86)\Java\jre
路径:c:\程序文件(x86)\Java\jdk1.x.x\bin

Java_HOME:c:\程式档(x86)\Java \jdk1.x.x\jre
路径:c:\程序文件(x86)\Java\jdk1.x.x\bin

注意:JAVA_HOME必须指向JDK/JRE(jdk的jre子级)。我同时安装了jre和jdk。似乎我需要同时安装这两个版本才能使cordova-CLI在windows8.1上运行。

我希望这能帮上忙。

相关问题