web-dev-qa-db-fra.com

Pourquoi Grunt ne s'ajoute-t-il pas au shell?

J'ai un problème d'installation de grunt. Toute la documentation et les didacticiels de blog indiquent que l'exécution:

npm install -g grunt

vous permettra ensuite d'exécuter des commandes de grognement à partir du terminal.

J'ai une situation où grunt semble s'installer sans erreur, mais taper la commande grunt dans le terminal donne toujours:

-bash: grunt: command not found

Que pourrais-je faire de mal? Et où pourrais-je trouver un grognement pour l'ajouter manuellement à mon profil BASH?

38
stephband

Depuis la version 0.4 de Grunt (sortie il y a 1 ou 2 semaines), vous devez installer globalement l'outil de ligne de commande grunt (si nécessaire, utilisez Sudo avant la commande):

npm install -g grunt-cli

Dans l'emplacement de votre projet, vous installez ensuite la dernière version grunt:

npm install grunt --save-dev

Option --save-dev enregistre la configuration npm dans votre fichier package.json, ce qui facilite l'installation ou la réinstallation des dépendances (en utilisant simplement npm install).

108
asgoth

Essayez d'exécuter l'installation avec l'indicateur détaillé:

npm install -g grunt --verbose

Vous pouvez voir où il est installé (quelque chose comme/usr/local/share/npm/bin/grunt). Vérifiez ensuite votre chemin:

echo $PATH

Si le chemin ne contient pas l'emplacement d'installation bin, modifiez le chemin d'accès dans votre profil bash pour inclure l'emplacement du répertoire bin, puis réessayez grunt dans un nouveau terminal.

UPDATE : Processus d'installation modifié de Grunt 0.4. Pour les installations 0.4, voir la réponse de asgoth ci-dessous.

13
bbrewer97202

Il semble que grunt dans la version actuelle 0.4.0 n'installe pas de commande bin. Le dernier 0.3.x la version est 0.3.17, qui prend en charge une commande bin. Pour exécuter grunt à partir de la ligne de commande, vous souhaiterez installer la ligne de commande grunt grunt-cli:

npm install -g grunt-cli --verbose
6
apepper

J'avais un nœud installé en utilisant Homebrew et c'était ma solution:

  • set config for -g (GLOBAL) install directory directory: npm config set prefix /Users/YOURNAME/.node/

  • assurez-vous de modifier PATH: Sudo nano ~/.profile

  • ajouter au chemin: export PATH = "/ Users/YOURNAME/.node/bin:" $ PATH

  • puis mettez à jour la source: source ~/.profile

En suivant ces étapes, tous les packages installés à l'aide de npm install -g somePKG seront placés au bon emplacement, quel que soit votre répertoire de travail actuel. Et en mettant correctement à jour votre $ PATH, les fonctions de ligne de commande fonctionneront.

Informations basées sur: Correction des autorisations npm - bit.ly/1CmIyqx

6
RnG