web-dev-qa-db-fra.com

cordova build La commande a échoué avec le code de sortie EACCES

La compilation Cordova a échoué avec le code d'erreur: 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
 ======================================

ont ajouté la plate-forme Android à proj1 essayé de réinstaller cordova mais ne fonctionnait pas 

26
twid

Pour une raison quelconque, build n'est pas actuellement un fichier exécutable. Pour résoudre ce problème, ouvrez le terminal et entrez les commandes suivantes:

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

Ceci est un problème commun de PhoneGap.

La plupart du temps, il s'agit d'autorisations sur le dossier build et le fichier de script.

Essayez d'utiliser: chmod a+x sur eux.

9
fuzz

Pour résoudre le problème EACCESS, copiez et enregistrez les paramètres icone/splashes/config.xml personnalisés de votre plateforme et supprimez le dossier correspondant. Après cela, lancez phonegap et exécutez à nouveau Android à partir de votre console. cela devrait fonctionner à nouveau. Après cela, copiez les fichiers/paramètres personnalisés dans le nouveau dossier de la plate-forme.

6
mrmoree

Mon conseil est de supprimer le répertoire platforms et de réinstaller chaque plate-forme.

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

Exécuter chmod a+x build (comme suggéré dans la réponse acceptée) ne résout pas les problèmes d'autorisation cordova platform rm <platform>. Il est plus sûr (et plus facile) de restaurer chaque plate-forme à son état par défaut au lieu de modifier (et de mémoriser) les modifications d'autorisation pour des fichiers/répertoires individuels.

6
tfmontague

Vous pouvez le forcer brutalement si vous êtes un administrateur et que Sudo chmod -R 777 ./platforms/ vient du répertoire racine du projet.

3
jsnelgro

Mon problème a été résolu en supprimant la carte/les plateformes/Android. Après cela, j'ai ajouté à nouveau la plate-forme.

plate-forme cordova ajouter Android

Pour moi cela a fonctionné, mais je pense qu'il y a plusieurs raisons pour lesquelles cette erreur est montrée.

! Sauvegardez vos icônes!

N'oubliez pas de sauvegarder vos icônes dans /platforms/Android/res/.____ ou copiez la carte entière comme sauvegarde pour vous assurer de ne pas perdre votre travail ...

3
Johan Hoeksma

Difficile de diagnostiquer le problème ici. Pourriez-vous ajouter plus d'informations à la description du problème?

Pour ce que je peux voir, ce qui n’est pas excessif, c’est parce que l’un des exécutables n’a pas les droits d’exécution appropriés pour votre utilisateur (en supposant que vous êtes sur Ubuntu 14.04 pour votre sortie).

Assurez-vous que les outils SDK Android et les outils de plate-forme, ainsi que les JDK et Ant Oracle, se trouvent dans votre PATH avec les autorisations appropriées. Sinon, mettez plus d'informations ici.

0
Victor Sosa

J'ai les mêmes problèmes, résolus aujourd'hui après d'innombrables essais et erreurs. J'ai effectivement BUILD SUCCESS à comparaître.
La chose est de changer la variable d’environnement ..
de

Java_HOME: c:\Fichiers de programme (x86)\Java\jre 
CHEMIN: c:\Program Files (x86)\Java\jdk1.x.x\bin

à

Java_HOME: c:\Program Files (x86)\Java\jdk1.x.x\jre
CHEMIN: c:\Program Files (x86)\Java\jdk1.x.x\bin 

NOTE: le Java_HOME doit pointer sur JDK/JRE (l'enfant jre de jdk). J'installe jre et jdk. il semble que je doive installer les deux pour que cordova-CLI fonctionne sous Windows 8.1.
J'espère que ça aide.

0
vdj4y