"Schwerwiegender Fehler: Lokales Grunzen konnte nicht gefunden werden." beim Ausführen des Befehls "grunzen"


73

Ich habe grunt mit folgendem Befehl deinstalliert.

npm uninstall -g grunt

Dann habe ich wieder grunt mit folgendem Befehl installiert.

npm install -g grunt-cli

Besuchen Sie den folgenden Link: https://npmjs.org/package/grunt-html

Ich möchte das obige Grunz-Plugin verwenden

Wenn ich jedoch den Befehl grunt ausführe, wird folgende Fehlermeldung angezeigt:

D:\nodeJS\node_modules\grunt-html>grunt
grunt-cli: The grunt command line interface. (v0.1.6)

Fatal error: Unable to find local grunt.

If you're seeing this message, either a Gruntfile wasn't found or grunt
hasn't been installed locally to your project. For more information about
installing and configuring grunt, please see the Getting Started guide:
http://gruntjs.com/getting-started

3
Ich sehe nicht, wie das etwas mit jQuery zu tun hat. Sie müssen grunt in Ihrem Projektverzeichnis installieren, wie in der Dokumentation beschrieben: gruntjs.com/getting-started#installing-grunt-and-gruntplugins . Die Fehlermeldung lautet außerdem: "[...] oder Grunzen wurde nicht lokal in Ihrem Projekt installiert." .
Felix Kling

Ich habe grunt erfolgreich in meinem Projektverzeichnis installiert. Wie kann ich dieses Plugin verwenden
Ashwin Hegde

1
Sie installieren das Plugin und folgen den Anweisungen auf der Projektseite, der Seite, auf die Sie verlinkt haben.
Felix Kling

Antworten:


176

Alles wird auf gruntjs.com ganz gut erklärt .

Beachten Sie, dass bei der Installation von grunt-cli der Grunt-Task-Runner nicht installiert wird! Die Aufgabe der Grunt-CLI ist einfach: Führen Sie die Version von Grunt aus, die neben einer Grunt-Datei installiert wurde. Auf diese Weise können mehrere Versionen von grunt gleichzeitig auf demselben Computer installiert werden.

In Ihrem Projektordner müssen Sie also (vorzugsweise) die neueste Grunzversion installieren :

npm install grunt --save-dev

Die Option --save-devwird gruntals dev-Abhängigkeit zu Ihrer package.json hinzugefügt . Dies erleichtert das Neuinstallieren von Abhängigkeiten.


3
Ich habe Sie nicht abgelehnt, aber wahrscheinlich wurde es getan, weil Ihre zweite Zeile unnötig und pedantisch ist.
Whitneyland

3
@LeeWhitney Ich habe die Zeile entfernt. Ich habe nur gemeint, dass in der Fehlermeldung der Link zum Leitfaden für die ersten Schritte erwähnt wird, der der erste Ort sein sollte, um nach Antworten zu suchen.
Asgoth

20

Sie müssen grunt in Ihrem Projektordner installieren

  1. Erstellen Sie Ihre package.json

    $ npm init
    
  2. Installiere Grunzen für dieses Projekt, dies wird unter installiert node_modules/. --save-dev fügt dieses Modul zu devDependency in Ihrer package.json hinzu

    $ npm install grunt --save-dev
    
  3. Erstellen Sie dann gruntfile.js und führen Sie es aus

    $ grunt 
    

2
Stellen Sie außerdem sicher, dass der Ordner node-modules erstellt wird. Meins war nicht, weil npm global=trueKonfiguration hatte. Ich habe die Lösung hier gefunden: stackoverflow.com/a/13449393/1046584
Luís Bianchin

4

Ich denke, Sie müssen Ihrer package.jsonDatei ein Grunzen hinzufügen . Siehe diesen Link .


Ich habe grunt erfolgreich in meinem Projektverzeichnis installiert. Wie kann ich dieses Plugin verwenden
Ashwin Hegde

1
@mpang der Link ist tot
Gaʀʀʏ

4

Ich hatte dieses Problem bei meinem Windows-Grunzen, weil ich die 32-Bit-Version von Node auf einem 64-Bit-Windows-Betriebssystem installiert habe. Als ich die 64-Bit-Version speziell installiert habe, hat sie funktioniert.


1
+1 von mir ... Ich frage mich, warum dies abgelehnt wurde. Dies scheint ein durchaus plausibler Grund für ein Versagen des Grunzens zu sein.
Michael Martin-Smucker

1

Ich hatte heute das gleiche Problem unter Windows 32 Bit mit Knoten 0.10.25 und Grunzen 0.4.5.

Ich folgte Donghos Antwort mit nur wenigen zusätzlichen Schritten. Hier sind die Schritte, mit denen ich den Fehler behoben habe:

1) Erstellen Sie Ihre package.json

$ npm init

2) Installiere grunt für dieses Projekt, dies wird unter node_modules / installiert. --save-dev fügt dieses Modul zu devDependency in Ihrer package.json hinzu

$ npm install grunt --save-dev

3) Erstellen Sie dann gruntfile.jsmit einem Beispielcode wie folgt:

module.exports = function(grunt) {

  grunt.initConfig({
    jshint: {
      files: ['Gruntfile.js', 'src/**/*.js', 'test/**/*.js'],
      options: {
        globals: {
          jQuery: true
        }
      }
    },
    watch: {
      files: ['<%= jshint.files %>'],
      tasks: ['jshint']
    }
  });

  grunt.loadNpmTasks('grunt-contrib-jshint');
  grunt.loadNpmTasks('grunt-contrib-watch');

  grunt.registerTask('default', ['jshint']);

};

hier, src/**/*.jsund test/**/*.jssollten die Wege zum tatsächlichen JS - Dateien , die Sie in Ihrem Projekt verwenden

4) laufen npm install grunt-contrib-jshint --save-dev

5) laufen npm install grunt-contrib-watch --save-dev

6) laufen $ grunt

Hinweis: Wenn Sie ein allgemeines Paket wie concat, uglify usw. benötigen, müssen Sie diese Module über hinzufügen npm install, genau so, wie wir jshint installiert und in Schritt 4 und 5 überwacht haben


1

Wenn Sie ein vorhandenes Projekt sind, sollten Sie möglicherweise die npm-Installation ausführen.

guntjs Erste Schritte Schritt 2.


1

Dies löste das Problem für mich. Ich habe versehentlich grunzen installiert mit:

sudo npm install -g grunt --save-dev

und führte dann den folgenden Befehl im Projektordner aus:

npm install

Dies führte zu dem Fehler, den der Autor der Frage sah. Ich habe dann grunt deinstalliert mit:

sudo npm uninstall -g grunt

Der Ordner node_modules wurde gelöscht. Und neu installiertes Grunzen mit:

npm install grunt --save-dev

und führen Sie Folgendes im Projektordner aus:

npm install

Aus irgendeinem Grund behält der Ordner node_modules bei der globalen Installation von grunt mit -g und der anschließenden Deinstallation etwas bei, das verhindert, dass grunt lokal im Projektordner installiert wird.

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.