47 votes

-bash: cordova: commande introuvable; ou -bash: phonegap: commande introuvable

Je ne vais pas poser une question, mais la réponse à l'une, que j'ai trouvé ce conseil nulle part en ligne à ce jour et ont simplement compris moi-même. Il est bon de partager, non?


Ainsi, sur la ligne de commande, j'ai fait ça:

sudo npm install -g cordova
sudo npm install -g phonegap

Qui a bien fonctionné, mais alors quand j'ai couru une de ces lignes:

My-MacBook-Pro:~ username$ cordova
My-MacBook-Pro:~ username$ phonegap

J'ai ces messages:

-bash: cordova: command not found
-bash: phonegap: command not found

Pourquoi? Il s'est avéré que les autorisations sur mon /usr/local/lib ont été mis à "tout le monde: Pas d'Accès". J'ai changé pour "tout le monde: Lecture seule" et essayé de nouveau.

My-MacBook-Pro:~ username$ cordova
My-MacBook-Pro:~ username$ phonegap

Cette fois, ils ont travaillé! Comme un test, j'ai tourné le dos à "tout le monde: Pas d'Accès" pour voir si c'était vraiment le problème. Cette fois j'ai eu des messages différents:

-bash: /usr/local/bin/cordova: Permission denied
-bash: /usr/local/bin/phonegap: Permission denied

Le résultat est le même si, je ne pouvais pas l'appeler cordova ou phonegap par le biais de la ligne de commande (je suis notamment ces deux dernières déni des messages juste au cas où quelqu'un des recherches sur eux).

72voto

Je suis sur Mac Os Mountain Lion. Après plusieurs tentatives, s'avère la solution est assez rapide.

Avant d'installer Cordova, assurez-vous que vous êtes le propriétaire de les dossiers qu'il va installer dans. Ouvrez un terminal et tapez:

sudo chown -R $USER /usr/local
sudo chmod -R 0775 /usr/local
npm install -g cordova

Si vous avez installé une nouvelle version de node.js, vous pouvez toujours vous faire une erreur. Essayez de supprimer les mnp cache:

sudo npm cache clear
npm install -g cordova

Puis tapez cordova et bonne chance ;)

EDIT: cela semble être au travail sur Maverick ainsi

11voto

itamaryu Points 126

Vous devez ajouter le répertoire "/ usr / local / share / npm / bin" à votre variable $ PATH. Ouvrez votre terminal / ligne de commande et tapez:

 export PATH=$PATH:/usr/local/share/npm/bin
 

2voto

nathan Points 86

Je dois appeler la commande phonegap en utilisant nodejs comme ceci ...

 nodejs /usr/local/lib/node_modules/phonegap/bin/phonegap.js create my-app
 

Lorsque j'exécute la commande cordova directement en utilisant

 /usr/local/lib/node_modules/cordova/bin/cordova
 

ça ne retourne rien

0voto

Lwyrn Points 618

Vous devez ajouter le chemin vers la corbeille cordova dans le fichier bash.

 /etc/profile
~/.bash_profile
~/.bash_login   (if .bash_profile does not exist)
~/.profile      (if .bash_login does not exist)
 

Essayez de fermer et de rouvrir le terminal après avoir modifié le fichier.

0voto

bubuzzz Points 2554

Les fichiers binaires après avoir été installés par npm seront situés dans /usr/local/share/npm/bin . N'hésitez pas à ajouter ce chemin au CHEMIN de votre système afin de les utiliser

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X