grunzen: Befehl beim Ausführen vom Terminal nicht gefunden


100

Ich bin neu bei Grunt. Ich versuche, Grunt auf meinem Mac OSX Lion zu konfigurieren.

Ich habe die Anweisungen hier befolgt und dann einen Projektordner erstellt, der die folgenden Dateien enthält. Wenn ich versuche zu rennen, indem ich "grunzen" in das Terminal tippe, bekomme ich command not found. Ich habe auch meine Pfade geändert, sudo nano /etc/pathsin der Hoffnung, dass der Task-Runner durch Hinzufügen des Pfads funktioniert, aber es funktioniert immer noch nicht. Kann mir bitte jemand dabei helfen?

---paths

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


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

Führen Sie diesen Befehl vom Terminal aus und fügen Sie die Ausgabe zu Ihrer Frage hinzu: Welches Grunzen
Paul Allen

Hallo Paul, ich habe den Befehl eingegeben und überhaupt keine Ausgabe erhalten.
user686483


1
Dupe von stackoverflow.com/questions/10667381/… - tolle Antwort dort.
Luft

Antworten:


44

Ich vermute, Sie haben Brew zur Installation von Node verwendet, daher könnte die Anleitung hier hilfreich sein: http://madebyhoundstooth.com/blog/install-node-with-homebrew-on-os-x/ .

Sie müssen sicherstellen, dass sich das npm / bin wie beschrieben in Ihrem Pfad befindet export PATH="/usr/local/share/npm/bin:$PATH". Dies ist der Speicherort, an dem npm die Bin-Stubs für die installierten Pakete installiert.


Die Nano-Version funktioniert auch wie hier beschrieben http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/, aber möglicherweise wird das Terminal neu gestartet erforderlich, um den neuen Pfad aufzunehmen.


Kann ich dies mit sudo nano / etc / path hinzufügen?
user686483

2
Sieht aus wie es hier architektonisch.com/2012/10/02/… aber verwenden Sie /usr/local/share/npm/bineher als die, die /usr/local/bin/gruntSie in der Frage haben
nschonni

1
Ich habe den Pfad mit sudo nano / etc / path hinzugefügt, aber ich habe immer noch keine Grunzbefehle / usr / local / share / npm / bin
user686483

Wie komme ich zu diesem Ordner im Terminal?
user686483

Ich habe es geschafft, den Ordner mit Finder einzublenden. Mein npm-Ordner befindet sich unter / Users / myusername.
user686483

498

Mein Fix für dies auf Mountain Lion war: -

npm install -g grunt-cli 

Sah es auf http://gruntjs.com/getting-started


15
Arbeitete an Mavericks.
Aaron Greenlee

8
Auch unter Linux (Ubuntu / Elementary OS)
iConnor

4
Sollte gut funktionieren (und ist wahrscheinlich besser) ohne die sudo.
Matthew Shanley

2
@MatthewShanley sudowird benötigt, es sei denn, bei der Installation wurden entsprechende Ordnerberechtigungen festgelegt npm.
Mostruash

3
Wenn Sie dies benötigen sudo, sind die Berechtigungen falsch und Sie werden bei jeder Installation in größere Schwierigkeiten geraten. Stellen Sie immer sicher, dass Sie npmohne laufen können sudo.
Laurens Kling

12

Für Windows

npm install -g grunt-cli

npm install load-grunt-tasks

Dann renne

grunt


1
hat mir überhaupt nicht geholfen
Dejell

1
Ich verwende Windows 10 und musste nur 'npm install -g grunt-cli' ausführen
Dan

6

Ich habe eine Weile herumgesucht, um dieses Problem zu lösen, und keines der vorgeschlagenen Updates für Bash schien zu funktionieren. Was ich entdeckte, war, dass meine npm-Wurzel irgendwann so geändert wurde, dass sie auf eine Users/USER_NAME/.node/node_modulesWeile hinwies, in der die eigentliche Installation von npm lebte /usr/local/lib/node_modules. Sie können dies überprüfen, indem Sie npm rootund npm root -g(für die globale Installation) ausführen. Um den Pfad zu korrigieren, können Sie aufrufen npm config set prefix /usr/local.


Ich bin nicht in der Lage, die beiden Pfade mit der von Ihnen bereitgestellten Lösung zu synchronisieren
comiventor

6

Auch unter OS X (El Capitan) hatte ich den ganzen Morgen das gleiche Problem.

Ich habe den Befehl "npm install -g grunt-cli" in einem Verzeichnis ausgeführt, in dem sich mein Projekt befand.

Ich habe es erneut aus meinem Home-Verzeichnis (dh 'cd ~') versucht und es wurde wie zuvor installiert, außer dass ich jetzt den Befehl grunt ausführen kann und er erkannt wird.


5

Der entscheidende Punkt ist, den richtigen Weg zu finden, auf dem Ihr Grunzen installiert wurde. Ich habe Grunzen bis npm installiert, aber mein Grunzpfad war /Users/${whoyouare}/.npm-global/lib/node_modules/grunt/bin/grunt. Also, nachdem ich /Users/${whoyouare}/.npm-global/lib/node_modules/grunt/binzu ~/.bash_profileund hinzugefügt hatte source ~/.bash_profile, funktionierte es.

Die Schritte sind also wie folgt:

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

Sie können auf http://www.hongkiat.com/blog/grunt-command-not-found/ verweisen.


Tolle Antwort, hat bei mir funktioniert (Win7 x64). Dies ist, was ich in mein .bash_profile gelegt habe:export PATH=$PATH:/Users/<username>/AppData/Roaming/npm/node_modules/grunt-cli/bin/grunt
Silber

Überprüfen Sie auch ~/.npm-packages/lib/node_modules/grunt-cli/bin/grunt(OS X High Sierra)
Kubilay
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.