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.