node.js - tutorial - npm gruntfile




Grunt auf Windows 8: 'grunt' wird nicht erkannt (8)

Ich habe ein Problem beim Ausführen von Grunt über die Befehlszeile auf meinem Windows 8-Computer.

Meine Forschung zeigt, dass die gebräuchlichste Lösung die Installation von grunt-cli ist, da Grunt nicht mehr global ist. Ich muss auch sicherstellen, dass ich tatsächlich den Grunt-Task-Runner installiere, da dieser nicht mit grunt-cli installiert ist.

Andere Lösungen verweisen auf die PATH-Systemumgebungsvariable, aber diese scheint so ausgerichtet zu sein, wie ich es erwarten würde:

C: \ Benutzer [Benutzername] \ AppData \ Roaming \ npm

Nachdem ich das alles gemacht habe, bekomme ich immer noch eine "Grunt 'wird nicht als interne oder externe Befehl, lauffähiges Programm oder Batch-Datei" -Fehlermeldung in der CLI erkannt. Ich habe die folgenden Dinge ausprobiert und alles nach jedem Versuch deinstalliert:

  • Installiere grunt-cli global (npm install -g grunt-cli), grunze dann auf der Verzeichnisebene, die ich benutzen will (npm install grunt)
  • Das gleiche wie oben, aber mit umgekehrter Reihenfolge der Installation
  • Das Gleiche wie bei beiden oben, aber mit der Admin-Eingabeaufforderung

Fehle ich etwas Offensichtliches?


  1. Schließen Sie alle Eingabeaufforderungsinstanzen.
  2. Starten Sie eine neue Eingabeaufforderungsinstanz.
  3. Type PATH Geben Sie ein und überprüfen Sie, ob C:\Users\Username\AppData\Roaming\npm Teil des Pfades ist.
  4. Wenn nicht, müssen Sie sich aus- und wieder anmelden ,
    oder schließen Sie die Eingabeaufforderung und starten Sie den explorer Prozess neu.
  5. Geben Sie in der Eingabeaufforderung where grunt Enter ein .
    Du bist gut, wenn es berichtet:

    C:\Users\Username\AppData\Roaming\npm\grunt
    C:\Users\Username\AppData\Roaming\npm\grunt.cmd
    
  6. Andernfalls müssen Sie das Paket grunt-cli installieren, wenn es grunt-cli meldet:

    INFO: Could not find files for the given pattern(s).
    

Anscheinend müssen Programme, die die Umgebungsvariable PATH ändern, eine WM_SETTINGCHANGE Nachricht WM_SETTINGCHANGE . Das Windows-Fenster Systemeinstellungen führt es korrekt aus, wenn Sie die PATH Variable ändern, das NPM-Installationsprogramm jedoch nicht. Deshalb müssen Sie den Explorer neu starten (oder sich abmelden oder neu starten, was den gleichen Effekt hat).


Bestätigen Sie, dass Ihr PATH korrekt ist (und nicht vermasselt). PATH einfach PATH an der Eingabeaufforderung ein. Es gibt wirklich keine andere Erklärung, die angesichts des Fehlers, den Sie beschreiben, und der Schritte, die Sie unternommen haben, sinnvoll ist.

Normalerweise hätte der Befehl where grunt in Ihrem Pfad grunt.cmd gefunden, wenn npm korrekt installiert und dem grunt.cmd ordnungsgemäß hinzugefügt wurde.


Ich habe mit Problem auf Windows 8, dass nach der Installation Grunt-CLI Ich habe immer "Befehl nicht gefunden", während ich versucht zu überprüfen, grunt -v oder where grunt . Also habe ich den Pfad C:\Program Files (x86)\Git\local enviroment PATH hinzugefügt und starte grunt.cmd von diesem Ordner aus (hier musst du im Ordner node_modules nachsehen). Und nachdem ich mein Terminal neu geladen hatte, fing alles an zu arbeiten.


Ich hatte das gleiche Problem auf Windows 8

Ich habe '% APPDATA% \ npm' zur Pfadvariablen hinzugefügt. Es hat gut funktioniert.


Ich hatte keine Probleme mit Grunt auf mehreren verschiedenen Windows 8 Maschinen.

Wenn Sie den Ordner öffnen: C:\Users\[username]\AppData\Roaming\npm

Haben Sie eine Datei namens grunt.cmd in diesem Ordner?

Wenn nicht, würde ich vielleicht versuchen, npm install -g grunt-cli , vielleicht von einer erhöhten Eingabeaufforderung.

Wenn dies der C:\Users\[username]\AppData\Roaming\npm und Sie C:\Users\[username]\AppData\Roaming\npm in Ihrer PATH-Umgebungsvariablen haben, sollte die Eingabe von grunt an einer Eingabeaufforderung funktionieren.

Dumme Frage, haben Sie versucht, die Eingabeaufforderung zu schließen und eine neue zu öffnen?


Ich weiß, dass dies beantwortet wurde, aber ich dachte, ich würde meine Schritt-für-Schritt-Lösung für Windows 8 anbieten.

Das erste, was ich überprüft habe, war der Pfad in meinen Laptops Umgebungsvariablen (Rechtsklick auf meinen Computer> Eigenschaften> erweiterte Systemeinstellungen> Umgebungsvariablen)

Es wurde dort nicht aufgeführt, daher habe ich eine neue Variable in User-Variablen hinzugefügt (also nur für mein Benutzerkonto)

In der Eingabeaufforderung für neue Benutzervariablen habe ich Folgendes eingegeben:

Variable Name: PATH

Variable Value: %USERPROFILE%\AppData\Roaming\npm

Quit command prompt, repoened, navigierte zu meinem Projektverzeichnis und versuchte erneut zu grunt und ... ERFOLG!


Manchmal korrumpiert die NPM-Installation den grundlegenden Windows-Pfad. Ich habe normalerweise eine Kopie meiner eigenen Version von PATH separat gespeichert. Jede Woche oder bei einigen Installationen konfiguriere und aktualisiere ich die Variable% PATH% manuell.

Grundsätzlich ist Grunt.cmd nicht über% PATH% Variable verfügbar.


Wenn Sie keine grunt.cmd-Datei haben, die von npm erstellt wurde, vergewissern Sie sich, dass Sie keine .npmrc-Datei in Ihrem Home-Verzeichnis mit folgendem Inhalt haben: bin-links=false .





grunt-cli