web-dev-qa-db-fra.com

Grunt installé mais ne fonctionne pas - "Commande introuvable" sur Mavericks

J'essaie d'utiliser Grunt avec Sass et je suis les guides suivants:

J'ai:

  • Node.js intsalled

  • Installé la version en ligne de commande de grunt: Sudo npm install -g grunt -cli

  • Ajout du chemin du programme d'installation Grunt à mon profil bash: export PATH=/usr/local/lib/node_modules/grunt/bin:$PATH

  • Fait du profil un exécutable: source ~/.bash_profile

  • Installer les fichiers package.json et Gruntfile.js dans la racine de mon projet

  • Grunt installé dans le projet: cd /path/to/project/root/ et Sudo npm install

Mais lorsque j'essaie d'exécuter grunt, je vois: command not found

C'est pareil si je lance: grunt --version

Je ne savais pas si le chemin bash avait besoin de/bin à la fin du blog posté ci-dessus, mais je l'ai essayé dans les deux sens: /usr/local/lib/node_modules/grunt/ et /usr/local/lib/node_modules/grunt/bin/

J'ai également exécuté le programme d'installation Grunt à plusieurs reprises, mais je ne vois aucune erreur. Je suis donc sûr qu'il est installé. Quelqu'un peut-il voir ce que je fais mal? J'exécute OSX Mavericks au cas où c'est le problème.

Tous les indicateurs dans la bonne direction seraient grandement appréciés.

À votre santé

23
CMSCSS

Vous avez une faute de frappe dans votre commande. Le paquet s'appelle grunt-cli sans espace.

Mettez à jour la commande pour:

Sudo npm install -g grunt-cli

Et tout devrait fonctionner comme prévu.

53
thomaux

J'espère que cette solution pourrait aussi être utile à quelqu'un. Dans mon cas, c'était un peu plus compliqué.

En ligne de commande, tapez la commande suivante 

 npm install grunt-cli -g

Cela vous montrera l'emplacement d'installation du client Grun: Copiez cet emplacement et collez-le dans un navigateur de fichiers. Était-ce dans mon cas.

 C:\Users\zkhaymed\AppData\Roaming\npm\node_modules\grunt-cli\bin

Cela vous ouvrira l'emplacement d'un fichier grunt . Cliquez sur la ligne d'adresse de l'emplacement et copiez-le sous forme de texte en cliquant sur le bouton droit de la souris . Maintenant, allez dans les propriétés avancées du système depuis le panneau de configuration et collez cette adresse dans une variable système et une variable utilisateur sans supprimer les autres variables.

3
user3941146

J'avais un problème très similaire, j'espère que cela aidera.

1) Vous voulez vérifier où node et npm sont réellement installés. Si vous avez utilisé un gestionnaire de packages, tel que Homebrew ou MacPorts, il se peut que l'emplacement pose problème. Il suffit d’utiliser le programme d’installation téléchargeable à partir de site Web de node.js } _. Assurez-vous d'utiliser la version actuelle, pas le support à long terme (LTS). Le programme d'installation installera node et npm dans/usr/local/bin, ce qui devrait déjà se trouver dans votre PATH. Si vous avez déjà installé node/npm, vous pouvez utiliser which node et which npm pour voir où ils se trouvent actuellement. Vous devriez voir /usr/local/bin/node et /usr/local/bin/npm, respectivement. Vous devrez mettre à jour npm après l’installation avec npm update -g npm. Cela peut nécessiter Sudo.

2) Une fois que node et npm sont correctement installés/mis à jour, accédez au répertoire racine du projet (où vous avez Gruntfile.js et package.json) et installez Grunt à l'aide de npm install grunt --save-dev. Rappelez-vous que Grunt Après cela, vous devriez voir un nouveau dossier appelé node_modules.

3) Assurez-vous de suivre l’étape précédente avant d’installer le CLI. Vous pouvez utiliser documentation de démarrage de Grunt pour vous guider tout au long du chemin. Sachez simplement que les instructions pour l’installation de Grunt sont plus détaillées que l’installation de la CLI, ce qui la rend quelque peu déroutante. Lorsque Grunt et Grunt-CLI sont installés, exécutez npm install et grunt dans la ligne de commande pour exécuter votre fichier Gruntfile.js.

Vous devriez maintenant pouvoir voir les versions installées. Notez que si vous vous trouvez en dehors du répertoire racine d'un projet, vous ne verrez pas de version de Grunt mais vous verrez la version de Grunt-CLI. Cela est dû au fait que la CLI a été installée globalement (utilisée à partir de n'importe quel répertoire/sous-répertoire), mais que Grunt est installé projet par projet.

Espérons que cela aide!

0
schaefferda

Je devais ajouter ceci au PATH (sur un Mac après brew install node):

export NPM_HOME=/usr/local/Cellar/node/6.3.1/libexec/npm

Le npm install n'était pas efficace, peu importe les arguments que je lui avais transmis.

0
djangofan