web-dev-qa-db-fra.com

Quelle est la cause de cette erreur - "Erreur fatale: impossible de trouver un grunt local"

J'ai d'abord supprimé l'ancienne version de grunt, puis j'ai installé la nouvelle version de grunt, puis j'ai eu cette erreur:

D:\www\grunt-test\grunt grunt-cli: l'interface de ligne de commande Grunt . (v0.1.4)

Erreur fatale: impossible de trouver un grunt local.

Si vous voyez ce message, un fichier Grunt n'a pas été trouvé ou grunt n'a pas été installé localement dans votre projet. Pour plus Pour plus d’informations sur l’installation et la configuration de grunt, veuillez vous reporter au Guide de démarrage: http://gruntjs.com/getting-started

Est-ce parce qu'il n'y a pas de référence à grogner dans mon chemin système? Ou autre chose? J'ai déjà essayé de le réinstaller plusieurs fois.

346
Ryan Yiada

Je pense que vous n’avez pas de fichier grunt.js dans votre répertoire de projet. Utilisez grunt:init, qui vous donne des options telles que jQuery, node,commonjs. Sélectionnez ce que vous voulez, puis continuez. Cela fonctionne vraiment. Pour plus d'informations, vous pouvez visiter this .

Faire ceci: 

 1. npm install -g grunt
 2. grunt:init  ( you will get following options ):
      jquery: A jQuery plugin
      node: A Node module
      commonjs: A CommonJS module
      gruntplugin: A Grunt plugin
      gruntfile: A Gruntfile (grunt.js)
 3 .grunt init:jquery (if you want to create a jQuery related project.).

Ça devrait marcher.

Solution pour v1.4:

1. npm install -g grunt-cli
2. npm init
   fill all details and it will create a package.json file.
3. npm install grunt (for grunt dependencies.)

Edit: Solution mise à jour pour les nouvelles versions: 

 npm install grunt --save-dev
277
Anshul

Installer Grunt dans node_modules plutôt que globalement

Unable to find local Grunt signifie probablement que vous avez installé Grunt globalement. 

La CLI Grunt insiste pour que vous installiez grunt dans votre répertoire local node_modules. Grunt est donc local pour votre projet. 

Cela va échouer:

npm install -g grunt

Faites ceci à la place:

npm install grunt --save-dev
152
superluminary

Faire

npm install

installer Grunt localement dans ./node_modules (et tout ce qui est spécifié dans le fichier package.json)

78
Klas Mellbourn

Si vous avez déjà un fichier package.json dans le projet et qu'il contient grunt en dépendance, 

  "devDependencies": {
    "grunt": "~0.4.0",

Ensuite, vous pouvez exécuter npm install pour résoudre le problème

25
Anthony Kong

Il dit que vous n'avez pas de grunt locale alors essayez:

npm install grunt

(sans le -g c'est une grunt locale)

Bien que cela ne soit pas directement lié, assurez-vous que vous avez Gruntfile.js dans votre dossier actuel.

5
Tomer Ben David

J'ai commis l'erreur d'installer certains paquets avec Sudo et d'autres sans privilèges, ce qui a résolu mon problème.

Sudo chown -R $(whoami) $HOME/.npm

j'espère que ça aide quelqu'un.

5
misterzik

Cela pourrait poser quelques problèmes en fonction de la version de grunt utilisée. Les versions les plus récentes de grunt spécifient en fait que vous disposez d'un fichier nommé Gruntfile.js (au lieu de l'ancien grunt.js). 

L'outil grunt-cli doit être installé globalement (ceci s'effectue via npm install -g grunt-cli). Cela vous permet d'exécuter des commandes grunt à partir de la ligne de commande. 

Deuxièmement, assurez-vous que vous avez installé grunt localement pour votre projet. Si vous voyez que votre package.json ne contient pas quelque chose comme "grunt": "0.4.5", vous devriez alors faire npm install grunt --save dans votre répertoire de projet. 

4
Nick Schaubeck

Je devais exécuter les commandes suivantes sur Ubuntu pour résoudre ce problème (je sais grogner pendant une heure):

Sudo npm install -g grunt
Sudo npm install -g grunt-cli

cd /usr/local/bin
# current symlink points to ../lib/node_modules/grunt/bin/grunt*
Sudo rm /usr/local/bin/grunt
Sudo ln -s ../lib/node_modules/grunt-cli/bin/grunt* grunt

C'est sale mais c'est la seule solution que j'ai trouvée ... :(

3
Max

Rien de ce qui précède n’a fonctionné pour moi car j’avais installé Grunt dans le monde entier (ce qui est curieusement recommandé dans plusieurs de ces réponses), ce qui a tout gâché. Voici ce qui a fonctionné:

npm uninstall -g grunt
npm install

Ce n'est que maintenant qu'un grognement local a été installé et utilisable pour moi.

1
mlncn

Vous pouvez simplement lancer cette commande:

npm install grunt --save-dev
0
Vinod Kumar

Juste npm install pour installer node_modules

0
Miku Ghoul

Étant nouveau pour grogner et le configurer, je lance (peut-être bêtement) mon projet/dossier Grunt à partir de Google Drive afin de pouvoir accéder au même code/aux mêmes versions depuis mon ordinateur portable ou mon poste de travail. 

Il y a pas mal de synchronisation entre les dossiers nodes_modules et Google Drive. Il semble y avoir eu un conflit à un moment donné. Le dossier/nodes_modules/grunt a été renommé en/nodes_modules/grunt (1).

Le renommer en supprimant le (1) a semblé résoudre le problème pour moi.

0
LJT

J'ai eu le même problème dans vagabond. 

J'ai utilisé Sudo pour exécuter la commande à installer. 

Sudo npm install -g grunt-cli

Cela a fonctionné pour moi.

0
user1012513