Node.js cordova生成命令失败,退出代码为EACCES

Node.js cordova生成命令失败,退出代码为EACCES,node.js,cordova,npm,cordova-3,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 Chil

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

此处难以诊断问题。您能在问题描述中添加更多信息吗

据我所知,这并不是太多,因为其中一个可执行文件没有对您的用户具有正确的exec权限(假设您的输出都在Ubuntu 14.04上)


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

这是一个常见的电话缺口问题

大多数情况下,它与
build
文件夹和脚本文件的权限有关


试着在他们身上使用:
chmoda+x

我也有同样的问题,经过无数的尝试和错误,今天就解决了。我实际上已经获得了构建成功。
问题是要更改环境变量。
来自

JAVA\u主页:c:\Program Files(x86)\JAVA\jre
路径:c:\ProgramFiles(x86)\Java\jdk1.x.x\bin

JAVA\u HOME:c:\ProgramFiles(x86)\JAVA\jdk1.x.x\jre
路径:c:\ProgramFiles(x86)\Java\jdk1.x.x\bin

注意:JAVA_HOME必须指向JDK/JRE(JDK的JRE子级)。我安装了jre和jdk。似乎我需要安装这两个组件,以便cordova CLI在windows8.1上工作。

我希望这有帮助。

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

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

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

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

cordova平台添加android

对我来说,这是可行的,但我认为出现这种错误的原因是多方面的

!备份你的图标

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

如果您是管理员,只需从项目根目录中删除
sudo chmod-R 777./platforms/

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

$ cd <your-project-directory>
$ rm -r platforms  # -or- manually remove the directory
$ cordova platform add <platform>  # ios, android, ...
$cd
$rm-r platforms#-或-手动删除目录
$cordova平台添加#ios、android等。。。

运行
chmod a+x build
(如接受的答案中所建议的)无法解决
cordova平台rm
权限问题。更安全(更容易)地将每个平台恢复到其默认状态,而不是对单个文件/目录的权限更改进行黑客攻击(并记住)。您应该为两个文件添加权限:

转到Cordova根目录并运行:

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

我真的感觉到了你的痛苦,但是出于明显的原因我投了反对票。。。克蒙!尽量多帮点忙!你能演示一下如何使用chmoda+x线吗?还是只需将其输入父文件夹并按enter键?必须
chmod a+x/目录/文件
,它才能工作。请看:我还需要在android文件夹中的gradlew上进行此操作,以便为android进行构建。这应该是一个评论,而不是回答我有类似的问题,但使用“platforms/android/gradlew”。尝试在“gradlew”目录下运行chmod,结果成功了!我还需要在android文件夹中的gradlew上完成它,以便为android构建它。谢谢!这是在macos更新到10.15(catalina)之后出现的。gradlew权限是我的问题。仅更新cordova生成文件的权限并不能解决我的问题。但不确定是什么原因造成的。这个答案帮助了我。最安全的解决方案