grunt: commande introuvable lors de l'exécution depuis le terminal

100

Je suis nouveau sur Grunt. J'essaye de configurer Grunt sur mon Mac OSX Lion.

J'ai suivi les instructions ici , puis j'ai créé un dossier de projet contenant les fichiers ci-dessous. Quand j'essaye de courir en tapant "grunt" dans le terminal je reçois command not found. J'ai également modifié mes chemins sudo nano /etc/pathsdans l'espoir que l'ajout du chemin ferait fonctionner le lanceur de tâches, mais cela ne fonctionne toujours pas. Quelqu'un peut-il vous aider?

---paths

/usr/bin 
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/local/bin/grunt


--- files
node modules
Gruntfile.js
package.json
user686483
la source
exécutez cette commande à partir du terminal et ajoutez la sortie à votre question: quel grognement
Paul Allen
Salut Paul, j'ai tapé la commande et n'ai reçu aucune sortie du tout.
user686483
duplication possible de "commande introuvable" après installation
Sindre Sorhus
1
Dupe de stackoverflow.com/questions/10667381/… - excellente réponse là-bas.
Diffusion

Réponses:

44

Je suppose que vous avez utilisé Brew pour installer Node, donc le guide ici pourrait être utile http://madebyhoundstooth.com/blog/install-node-with-homebrew-on-os-x/ .

Vous devez vous assurer que le npm / bin est dans votre chemin comme il le décrit export PATH="/usr/local/share/npm/bin:$PATH". Il s'agit de l'emplacement où npm installera les stubs bin pour les packages installés.


La version nano fonctionnera également comme décrit ici http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/ mais un redémarrage du terminal peut être nécessaire pour que le nouveau chemin soit repris.

nschonni
la source
puis-je ajouter cela en utilisant sudo nano / etc / chemins?
user686483
2
On dirait que c'est ici architectryan.com/2012/10/02/… mais utilisez /usr/local/share/npm/binplutôt que ce que /usr/local/bin/gruntvous avez dans la question
nschonni
1
J'ai ajouté le chemin en utilisant sudo nano / etc / chemins mais je n'ai toujours pas de commandes grunt / usr / local / share / npm / bin
user686483
comment puis-je accéder à ce dossier dans le terminal?
user686483
J'ai réussi à afficher le dossier à l'aide du Finder. Mon dossier npm se trouve sous / Users / myusername.
user686483
498

Ma solution pour cela sur Mountain Lion était: -

npm install -g grunt-cli 

Je l' ai vu sur http://gruntjs.com/getting-started

user2792249
la source
15
A travaillé sur Mavericks.
Aaron Greenlee
8
Aussi sur Linux, (Ubuntu / Elementary OS)
iConnor
4
Devrait fonctionner correctement (et c'est probablement mieux) sans le sudo.
Matthew Shanley
2
@MatthewShanley sudoest nécessaire à moins que les autorisations de dossier appropriées aient été définies lors de l'installation npm.
mostruash
3
Si vous en avez besoin sudo, les autorisations sont incorrectes et vous aurez des problèmes plus profonds à chaque installation. Assurez-vous toujours de npmpouvoir courir sans sudo.
Laurens Kling
12

Pour les fenêtres

npm install -g grunt-cli

npm install load-grunt-tasks

Puis cours

grunt

Mohit Singh
la source
1
ne m'a pas aidé du tout
Dejell
1
J'utilise Windows 10 et je n'ai eu qu'à exécuter 'npm install -g grunt-cli'
Dan
6

Cela fait un moment que je cherche à résoudre celui-ci et aucune des mises à jour suggérées pour bash ne semble fonctionner. Ce que j'ai découvert, c'est qu'à un moment donné ma racine npm a été modifiée de telle sorte qu'elle pointe vers un Users/USER_NAME/.node/node_modulesmoment où l'installation réelle de npm vivait /usr/local/lib/node_modules. Vous pouvez vérifier cela en exécutant npm rootet npm root -g(pour l'installation globale). Pour corriger le chemin, vous pouvez appeler npm config set prefix /usr/local.

Bueno
la source
Je ne parviens pas à synchroniser les deux chemins en utilisant la solution que vous avez fournie
comiventor
6

Également sur OS X (El Capitan), j'ai eu ce même problème toute la matinée.

J'exécutais la commande "npm install -g grunt-cli" depuis un répertoire où se trouvait mon projet.

J'ai réessayé à partir de mon répertoire personnel (c'est-à-dire 'cd ~') et il a été installé comme avant, sauf que maintenant je peux exécuter la commande grunt et elle est reconnue.

Mongo0se
la source
5

le point clé est de trouver le bon chemin où votre grunt a été installé. J'ai installé grunt via npm, mais mon chemin était /Users/${whoyouare}/.npm-global/lib/node_modules/grunt/bin/grunt. Donc , après avoir ajouté /Users/${whoyouare}/.npm-global/lib/node_modules/grunt/binà ~/.bash_profile, et source ~/.bash_profile, cela a fonctionné.

Les étapes sont donc les suivantes:

1. find the path where your grunt was installed(when you installed grunt, it told you. if you don't remember, you can install it one more time)

2. vi ~/.bash_profile

3. export PATH=$PATH:/your/path/where/grunt/was/installed

4. source ~/.bash_profile

Vous pouvez vous référer à http://www.hongkiat.com/blog/grunt-command-not-found/

YJ. Yang
la source
Excellente réponse, a fonctionné pour moi (Win7 x64). C'est ce que j'ai placé dans mon .bash_profile:export PATH=$PATH:/Users/<username>/AppData/Roaming/npm/node_modules/grunt-cli/bin/grunt
argent
Vérifiez également ~/.npm-packages/lib/node_modules/grunt-cli/bin/grunt(OS X High Sierra)
kubilay