Cosa sta causando questo errore - "Errore irreversibile: impossibile trovare il grugnito locale"


370

Ho rimosso prima la vecchia versione di grunt, quindi ho installato la nuova versione di grunt e ho riscontrato questo errore:

D: \ www \ grunt-test \ grunt grunt-cli: l'interfaccia della riga di comando di grunt. (V0.1.4)

Errore irreversibile: impossibile trovare il grugnito locale.

Se visualizzi questo messaggio, non è stato trovato un file Grunt o grunt non è stato installato localmente nel tuo progetto. Per ulteriori informazioni sull'installazione e la configurazione di grunt, consultare la Guida introduttiva: http://gruntjs.com/getting-started

Questo perché non c'è un riferimento a grunt nel mio percorso di sistema? O qualcos'altro? Ho già provato a reinstallarlo alcune volte.


6
Hai installato a livello globale? npm install grunt -g
elclanrs,

1
hai una Gruntfile.jsradice alla base del tuo progetto?
Simon Boudrias,

6
@Garreh È passato un po 'di tempo, ma prova npm install grunt --save-devdal terminale. Questo dovrebbe aggiungere l'ultima versione al tuo package.json.
Romain,

233
Oops - ce l'avevo con un progetto appena estratto. Dovevo solo fare npm install!
poshaughnessy,

6
nmp install - Installa le dipendenze nella cartella node_modules locale.
poorva,

Risposte:


291

Penso che non hai un grunt.jsfile nella directory del progetto. Usa grunt:init, che ti offre opzioni come jQuery, node,commonjs. Seleziona ciò che desideri, quindi procedi. Funziona davvero. Per maggiori informazioni puoi visitare questo .

Fai questo:

 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.).

Dovrebbe funzionare.

Soluzione per 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.)

Modifica: soluzione aggiornata per le nuove versioni:

 npm install grunt --save-dev

2
Questa versione deve essere quella vecchia (v0.3). A oggi non ho smesso di installarla e installare il nuovo grunt (v0.4) chiamato Grunt-CLI. Qualcosa è cambiato ..
Ryan Yiada,

29
Attualmente, npm install gruntinstalla grunt 0.3.x. Dovrai fare `npm install grunt@0.4 'andare localmente installa la versione di grunt necessaria per grunt-cli
Jack

6
Vorrei che i passaggi dell'installazione di Grunt riguardassero @ 0.4. Mi stavo davvero strizzando le mani cercando di capire fino a quando non ho trovato il tuo commento.
cnp

2
npm install grunt --save-devl'ho fatto per me
Vinicius Pinto il

6
grunt-clidovrebbe essere installato a livello globale, ma si aspetta che tu abbia un'installazione locale grunt.jsnel tuo progetto. Ciò consente a ciascun progetto di utilizzare una versione diversa di grunt. In genere utilizzo npm con un file package.json per installare grunt.js su tutti gli altri grugniti, ecc.
Henry,

164

Installa Grunt in node_modules piuttosto che a livello globale

Unable to find local Grunt probabilmente significa che hai installato Grunt a livello globale.

La CLI Grunt insiste sull'installazione di grunt nella directory node_modules locale, quindi Grunt è locale nel progetto.

Questo fallirà:

npm install -g grunt

Fallo invece:

npm install grunt --save-dev

83

Fare

npm install

installare Grunt localmente in ./node_modules(e tutto il resto specificato nel package.jsonfile)


4
L'ho fatto come un pazzo. Ho dimenticato di eseguire questo comando dopo aver
portato

1
Come mai grunt deve essere installato localmente poiché lo strumento da riga di comando può sempre essere posizionato a livello globale?
Mike M,

1
@MikeM a volte hai node_modules/.binnel tuo PATH. Inoltre, locale e globale possono essere versioni diverse.
Klas Mellbourn,

Nel mio caso è stata colpa di NetBeans. A volte si blocca i miei progetti quando lo faccio git stashin uno strumento esterno, qui ha rimosso alcuni moduli node_modulese tutto ha smesso di funzionare (e funzionava bene prima). Dopo npm installche funziona di nuovo bene.
Wirone,

26

Se hai già un file package.jsonnel progetto e contiene gruntin dipendenza,

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

Quindi è possibile eseguire npm installper risolvere il problema


5

Ho fatto l'errore di installare alcuni pacchetti usando sudo e altri senza privilegi, questo ha risolto il mio problema.

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

spero che aiuti qualcuno.


5

Dice che non hai un locale gruntquindi prova:

npm install grunt

(senza il -gè un locale grunt)

Sebbene non sia direttamente correlato, assicurati di averlo Gruntfile.jsnella cartella corrente.


4

Potrebbero esserci alcuni problemi qui a seconda della versione di grunt utilizzata. Le versioni più recenti di grunt in realtà specificano che hai un file chiamato Gruntfile.js(anziché il vecchio grunt.js).

Lo grunt-clistrumento dovrebbe essere installato a livello globale (ciò avviene tramite npm install -g grunt-cli). Ciò consente di eseguire effettivamente i gruntcomandi dalla riga di comando.

In secondo luogo assicurati di aver installato grunt localmente per il tuo progetto. Se vedi package.jsonche non contiene qualcosa di simile "grunt": "0.4.5", dovresti farlo npm install grunt --savenella directory del tuo progetto.


3

Ho dovuto eseguire i seguenti comandi su Ubuntu per risolvere questo problema (conosco grugnito per 1 ora):

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

È sporco ma è l'unica soluzione che ho trovato ... :(


2

Nessuna delle precedenti ha funzionato per me perché avevo installato Grunt a livello globale (consigliato in molte di queste risposte, stranamente) e questo stava rovinando tutto. Ecco cosa ha funzionato:

npm uninstall -g grunt
npm install

Solo ora un grugnito locale è stato installato e utilizzabile per me.


0

Essendo nuovo per grugnire e configurarlo, sto eseguendo (forse stupidamente) il mio progetto / cartella grugnito da un Google Drive in modo da poter accedere allo stesso codice / build dal mio laptop o workstation.

C'è un bel po 'di sincronizzazione delle cartelle nodes_modules su Google Drive e sembra che ci sia stato un conflitto ad un certo punto, e la cartella / nodes_modules / grunt è stata rinominata in / nodes_modules / grunt (1)

Rinominarlo rimuovendo il (1) sembrava risolverlo per me.


Perché non usi GIT?
hmrc87,

Non volevo tenere traccia delle modifiche / versioni e stavo cercando di non mantenere due installazioni grunt separate, ma lo scenario sopra era abbastanza problematico, quindi mi sono spostato su Github comunque.
LJT,


0

Ho avuto lo stesso problema in Vagrant.

Ho usato sudo per eseguire il comando da installare.

sudo npm install -g grunt-cli

Ha funzionato per me.


0

Puoi semplicemente eseguire questo comando:

npm install grunt --save-dev
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.