J'ai un problème pour exécuter Grunt à partir de la ligne de commande sur ma machine Windows 8.
Mes recherches indiquent que la solution la plus courante consiste à installer grunt-cli, puisque Grunt n'est plus global. Je dois également m'assurer que j'installe effectivement le gestionnaire de tâches Grunt, car il n'est pas installé avec grunt-cli.
D'autres solutions pointent vers la variable d'environnement système PATH, mais celle-ci semble pointer comme je m'y attendrais :
C:\Users [nom d'utilisateur] \AppData\Roaming\npm
Après avoir fait tout cela, je reçois toujours un message d'erreur "'grunt' n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier batch" dans le CLI. J'ai essayé les choses suivantes, en désinstallant tout après chaque tentative :
- Installation globale de grunt-cli (npm install -g grunt-cli), puis de grunt au niveau du répertoire où je veux l'utiliser (npm install grunt).
- Comme ci-dessus, mais avec l'ordre d'installation inversé.
- La même chose que les deux précédentes, mais en utilisant l'invite de commande de l'administrateur.
Est-ce que je rate quelque chose d'évident ?
8 votes
Après
npm install -g grunt-cli
, typewhere grunt
. Quel est le résultat ?0 votes
@WiredPrairie : INFO : Impossible de trouver des fichiers pour le(s) motif(s) donné(s).
1 votes
Est
grunt.cmd
situé dans votreAppData\Roaming\npm
dossier ?0 votes
Oui, j'ai le fichier grunt.cmd à cet endroit, ainsi qu'un répertoire node_modules et un fichier nommé grunt de type FILE. Lorsque j'installe d'autres modules (comme express), c'est là qu'ils se retrouvent également.
0 votes
Avez-vous ouvert une nouvelle fenêtre de commande et confirmé que votre chemin est correctement défini ?
0 votes
J'ai utilisé des fenêtres de commande séparées pour tout, et j'ai confirmé le chemin en utilisant la commande 'npm config set prefix'.
2 votes
Un dernier essai -- veuillez confirmer que votre PATH est correct (et non déréglé). Tapez simplement
PATH
à partir de l'invite de commande. Il n'y a pas vraiment d'autre explication qui ait du sens compte tenu de l'erreur que vous décrivez et des étapes.0 votes
Je viens de découvrir le problème : la liste PATH, qui est habituellement séparée par des points-virgules, était incorrectement séparée par des virgules. Je ne suis pas sûr de la raison, car je ne l'ai pas ajoutée manuellement, mais après avoir remplacé la virgule par un point-virgule, cela semble fonctionner. @WiredPrairie - si vous ajoutez une réponse, je la marquerai comme acceptée.
3 votes
Sous Windows 7, j'ai essayé de définir
NODE_PATH
= à%AppData\npm
qui se traduit par le chemin correct. Ensuite, dans monPath
J'ai ajouté%NODE_PATH%
et cela n'a pas fonctionné. Je pense que ça n'aimait pas que la variable contienne une autre variable. Ce qui veut dire que sous DOS je ne pouvais pascd %NODE_PATH%
perocd %AppData%\npm
a bien fonctionné. J'ai donc fini par ajouter le chemin complet dans mon fichierSystem
à la variablenpm
et est passé à autre chose. Ça marche maintenant.0 votes
Cela peut être lié à cette question Je l'ai posté ici au cas où la connexion à Active Directory ou aux utilisateurs non administrateurs serait utile à quelqu'un.
1 votes
@cbmeeks, votre
NODE_PATH
La variable est erronée ; vous avez écrit%AppData\npm
et il devrait être%AppData%\npm
0 votes
@Vi3GameHkr merci pour le commentaire mais mon commentaire original était en fait une faute de frappe. J'avais, en fait, la version correcte que vous avez mentionnée. Je l'ai juste mal tapée dans mon commentaire.