189 votes

Paquet de nœuds (Grunt) installé mais non disponible

J'essaye de construire une bibliothèque de github jquery-ui using grunt , mais après avoir couru npm install je ne peux toujours pas exécuter la commande selon le dossier de readme . Il donne juste No command 'grunt' found :

 james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ grunt build
No command 'grunt' found, did you mean:
 Command 'grun' from package 'grun' (universe)
grunt: command not found
james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ npm ls
jquery-ui@1.9.0pre /home/james/Documents/projects/ad2/lib/jquery-ui
├─┬ grunt@0.3.9 
│ ├── async@0.1.18 
│ ├── colors@0.6.0-1 
│ ├─┬ connect@1.8.7 
│ │ ├── formidable@1.0.9 
│ │ ├── mime@1.2.5 
│ │ └── qs@0.5.0 
│ ├── dateformat@1.0.2-1.2.3 
│ ├─┬ glob-whatev@0.1.6 
│ │ └─┬ minimatch@0.2.4 
│ │   └── lru-cache@1.0.6 
│ ├─┬ gzip-js@0.3.1 
│ │ ├── crc32@0.2.2 
│ │ └── deflate-js@0.2.2 
│ ├── hooker@0.2.3 
│ ├─┬ jshint@0.5.9 
│ │ ├── argsparser@0.0.6 
│ │ └─┬ minimatch@0.2.4 
│ │   └── lru-cache@1.0.6 
│ ├─┬ nodeunit@0.6.4 
│ │ ├── tap-assert@0.0.10 
│ │ └─┬ tap-producer@0.0.1 
│ │   ├── inherits@1.0.0 
│ │   ├── tap-results@0.0.2 
│ │   └── yamlish@0.0.5 
│ ├─┬ nopt@1.0.10 
│ │ └── abbrev@1.0.3 
│ ├─┬ prompt@0.1.12 
│ │ ├── pkginfo@0.2.3 
│ │ └─┬ winston@0.5.11 
│ │   ├── eyes@0.1.7 
│ │   ├─┬ loggly@0.3.11 
│ │   │ └── timespan@2.2.0 
│ │   └── stack-trace@0.0.6 
│ ├── semver@1.0.13 
│ ├─┬ temporary@0.0.2 
│ │ └── package@1.0.0 
│ ├── uglify-js@1.0.7 
│ ├── underscore@1.2.4 
│ └── underscore.string@2.1.1 
├── grunt-compare-size@0.1.4 
├─┬ grunt-css@0.2.0 
│ ├── csslint@0.9.8 
│ └── sqwish@0.2.0 
├── grunt-html@0.1.1 
├── request@2.9.153 
├─┬ rimraf@2.0.1 
│ └── graceful-fs@1.1.8 
└─┬ testswarm@0.2.2 
  └── request@2.9.202 
 

Je suis confus, qu'est-ce qui me manque s'il vous plait?

417voto

Tom P Points 2138

Les outils de ligne de commande ne sont pas inclus avec la dernière version de Grunt (0,4 au moment de l'écriture) au lieu de cela vous avez besoin de les installer séparément.

C'est une bonne idée, parce que cela signifie que vous pouvez avoir différentes versions de Grognement en cours d'exécution sur des projets différents, mais toujours le beau concis grunt commande à exécuter.

Alors d'abord installer le grognement des outils cli à l'échelle mondiale:

npm install -g grunt-cli

(ou peut - sudo npm install -g grunt-cli ).

Vous pouvez établir que de travail en tapant grunt --version

Maintenant, vous pouvez installer la version actuelle de Grognement local à votre projet. Donc, à partir de votre emplacement du projet...

npm install grunt --save-dev

L' save-dev de l'interrupteur n'est pas strictement nécessaire, mais est une bonne idée car elle marquera grognement dans son paquet.json devDependencies section seulement sur le développement de module.

26voto

Sam Figueroa Points 1312

Ajouter /usr/local/share/npm/bin/ à votre $PATH

24voto

rayfranco Points 1404

Si vous n'avez installé Grunt package en exécutant npm install -g grunt et il persiste à dire que l' No command 'grunt' found ou grunt: command not found, d'une façon rapide et sale pour obtenir ce travail est de relier le nœud binaires à votre $PATH manuellement.

Sur MacOSX/Linux, vous pouvez ajouter cette ligne à votre ~/.bash_profile ou ~/.bashrc le fichier.

PATH=$PATH:/usr/local/Cellar/node/HEAD/bin # Add NPM binaries

Vous devriez probablement remplacer /usr/local/Cellar/node/HEAD/bin par le chemin où votre nœud binaires peut être trouvé.

Si c'est rapide et sale pour moi, c'est parce que tout devrait fonctionner sans le faire, mais pour une raison inconnue, un lien semble brisé. Comme personne sur IRC pourrait me dire pourquoi c'est arrivé, j'ai trouvé ma façon de faire (grunt).

PS: Cela devrait vous aider à faire de gros travaux, cette réponse n'est pas jquery-ui liés.

Mise à jour 02/2013 : Vous devez prendre un coup d'oeil à @tom-p réponse qui explique mieux ce qui se passe. Tom nous donne la véritable solution au lieu de piratage de votre fichier bashrc : les deux doivent travailler, mais vous devriez essayer de l'installer en grunt-cli première.

12voto

Edgard Leal Points 519

Dans mon cas, j'ai besoin de modifier le fichier / usr / local / bin / grunt dans la ligne 1 (ne le faites pas):

  #!/usr/bin/env node //remove this line
 #!/usr/bin/env nodejs // and put this line to run with nodejs
 

Édité:

Pour éviter les problèmes, j'ai créé un lien avec le nom de "node" car beaucoup d'autres programmes utilisent encore la commande "node".

  sudo ln -s /usr/bin/nodejs /usr/sbin/node
 

11voto

Marvin Points 31

Sur WIN7, j'ai dû ajouter manuellement le chemin d'accès au dossier npm (qui contient le fichier «grunt» insaisissable) à la variable d'environnement Windows PATH. Dans mon cas c'était C: \ Users \ mhaagsma \ AppData \ Roaming \ npm

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