grunt: comando non trovato durante l'esecuzione dal terminale


100

Sono nuovo per Grunt. Sto cercando di configurare Grunt sul mio Mac OSX Lion.

Ho seguito le istruzioni qui e quindi ho creato una cartella del progetto che contiene i file seguenti. Quando provo a eseguire digitando "grunt" nel terminale ottengo command not found. Ho anche modificato i miei percorsi sudo nano /etc/pathsnella speranza che l'aggiunta del percorso avrebbe fatto funzionare il task runner ma non funzionava ancora. Qualcuno può aiutare con questo per favore?

---paths

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


--- files
node modules
Gruntfile.js
package.json

esegui questo comando dal terminale e aggiungi l'output alla tua domanda: quale grugnito
Paul Allen

Ciao Paul, ho digitato il comando e non ho ricevuto alcun output.
user686483


1
Dupe di stackoverflow.com/questions/10667381/… - ottima risposta lì.
Air

Risposte:


44

Immagino che tu abbia usato Brew per installare Node, quindi la guida qui potrebbe essere utile http://madebyhoundstooth.com/blog/install-node-with-homebrew-on-os-x/ .

Devi assicurarti che npm / bin sia nel tuo percorso come descritto export PATH="/usr/local/share/npm/bin:$PATH". Questa è la posizione in cui npm installerà gli stub bin per i pacchetti installati.


La versione nano funzionerà anche come descritto qui http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/ ma potrebbe essere necessario riavviare Terminal necessario per riprendere il nuovo percorso.


posso aggiungerlo usando sudo nano / etc / path?
user686483

2
Sembra qui architectryan.com/2012/10/02/… ma usa /usr/local/share/npm/bininvece di quello /usr/local/bin/gruntche hai nella domanda
nschonni

1
Ho aggiunto il percorso utilizzando sudo nano / etc / path ma non ho ancora comandi grugniti / usr / local / share / npm / bin
user686483

come arrivo a quella cartella nel terminale?
user686483

Sono riuscito a mostrare la cartella usando Finder. La mia cartella npm si trova in / Users / myusername.
user686483

498

La mia soluzione per questo su Mountain Lion è stata: -

npm install -g grunt-cli 

L'ho visto su http://gruntjs.com/getting-started


15
Ha lavorato su Mavericks.
Aaron Greenlee

8
Anche su Linux, (Ubuntu / Elementary OS)
iConnor

4
Dovrebbe funzionare bene (ed è probabilmente migliore) senza l'estensione sudo.
Matthew Shanley

2
@MatthewShanley sudoè necessario a meno che non siano state impostate le autorizzazioni appropriate per la cartella durante l'installazione npmstessa.
mostruash

3
Se necessario sudo, le autorizzazioni sono sbagliate e ti ritroverai in guai sempre più seri ad ogni installazione. Assicurati sempre di npmpoter correre senza sudo.
Laurens Kling

12

Per Windows

npm install -g grunt-cli

npm install load-grunt-tasks

Allora corri

grunt


1
non mi ha aiutato affatto
Dejell

1
Sto eseguendo Windows 10 e dovevo solo eseguire 'npm install -g grunt-cli'
Dan

6

Ho cercato di risolvere questo problema per un po 'e nessuno degli aggiornamenti suggeriti per bash sembrava funzionare. Quello che ho scoperto è stato che a un certo punto la mia radice npm è stata modificata in modo tale da indicare un Users/USER_NAME/.node/node_modulesmomento in cui si trovava l'effettiva installazione di npm /usr/local/lib/node_modules. Puoi verificarlo eseguendo npm roote npm root -g(per l'installazione globale). Per correggere il percorso puoi chiamare npm config set prefix /usr/local.


Non sono in grado di sincronizzare i due percorsi utilizzando la soluzione che hai fornito
comiventor

6

Anche su OS X (El Capitan), ho riscontrato lo stesso problema per tutta la mattina.

Stavo eseguendo il comando "npm install -g grunt-cli" da una directory in cui si trovava il mio progetto.

Ho provato di nuovo dalla mia home directory (cioè 'cd ~') e si è installato come prima, tranne che ora posso eseguire il comando grunt e viene riconosciuto.


5

il punto chiave è trovare il percorso corretto in cui è stato installato il tuo grugnito. Ho installato grugnito tramite npm, ma il mio percorso era /Users/${whoyouare}/.npm-global/lib/node_modules/grunt/bin/grunt. Quindi, dopo aver aggiunto /Users/${whoyouare}/.npm-global/lib/node_modules/grunt/bina ~/.bash_profile, e source ~/.bash_profile, ha funzionato.

Quindi i passaggi sono i seguenti:

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

Puoi fare riferimento a http://www.hongkiat.com/blog/grunt-command-not-found/


Ottima risposta, ha funzionato per me (Win7 x64). Questo è ciò che ho inserito nel mio .bash_profile:export PATH=$PATH:/Users/<username>/AppData/Roaming/npm/node_modules/grunt-cli/bin/grunt
argento

Controlla anche ~/.npm-packages/lib/node_modules/grunt-cli/bin/grunt(OS X High Sierra)
kubilay
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.