Gulp-Fehler: Modul 'jshint / src / cli' kann nicht gefunden werden

117

Also habe ich eine Neuinstallation von El Capitan und ich gebe diesen Task-Läufern einen weiteren Versuch.

Ich folge Sitepoints Eine Einführung in Gulp.js , aber ich stecke bei Schritt vier fest, wenn ich versuche zu laufen, gulp jshintbekomme ich " Error: Cannot find module 'jshint/src/cli'"

Ich habe keine Ahnung, was das verursacht, weshalb ich hier frage. Im Folgenden finden Sie einige Screenshots, um das Problem zu beheben.

Terminalfehler beim Ausführen von gulp jshint

Ordnerstruktur für das Gulp-Projekt

Wie immer bin ich für jeden Rat unendlich dankbar.

lateralaus
quelle
1
Ist jshint installiert?
MinusFour
Ja, so ist es. Ich habe es sogar neu installiert, um sicherzugehen, und ich erhalte immer noch den gleichen Fehler.
Lateralaus
6
Wie haben Sie es installiert? Muss wie folgt installiert werden: npm install jshint gulp-jshint --save-devvom Stammverzeichnis Ihrer Knoten-App.
MinusFour
1
@lateralaus hast du auch gemacht npm install jshint?
Flobin
1
Ich habe verwendet, npm install gulp-jshint --save-devist das anders als npm install jshint?
Lateralaus

Antworten:

327

Sie müssen auch jshint installieren, um das Problem zu beheben .

> npm install --save-dev jshint gulp-jshint
fmatar
quelle
1
Das ist es ! Vielen Dank!
Psi
Ist das nicht das, was das tut? npm install gulp-jshint --save-dev
Lateralaus
2
Ich bin gerade auf das gleiche Problem gestoßen. Ich denke, die Entwickler haben die Struktur von gulp-jshint in der neuesten Version geändert, die dieses Problem verursacht hat (wenn Sie github.com/spalger/gulp-jshint/issues/131 sehen ). Bei der Installation ist eine Peer-Abhängigkeitswarnung aufgetreten gulp-jshint.
CSharp
8
@ user3042437 Prost! Das hat den Job gemacht: D Es stellt sich heraus, dass ich npm install --save-dev jshint gulp-jshintstatt npm install gulp-jshint --save-devwie im Tutorial angegeben verwenden muss.
Lateralaus
@lateralaus Wenn Sie noch da sind - Sie sollten diese Antwort akzeptieren :) Häkchen auf der linken Seite
Tim Malone
28

Es stellt sich heraus, dass ich npm install --save-dev jshint gulp-jshintstatt npm install gulp-jshint --save-devwie im Tutorial angegeben verwenden muss. Eine Diskussion darüber wurde unter https://github.com/spalger/gulp-jshint/issues/131 gefunden. Vielen Dank an @ user3042437 für die Ergänzung des Links.

lateralaus
quelle
Ich habe das gleiche Tutorial benutzt und bin an der gleichen Stelle hängen geblieben. Vielen Dank für die Antwort! Funktioniert jetzt gut.
Orlando Morales-Cochran
0

Wenn Sie immer noch den Fehler erhalten, nachdem Sie die richtige Syntax oben eingegeben haben (npm install --save-dev jshint gulp-jshint), funktioniert dies.

Bevor Sie die Installation erneut ausführen, gehen Sie in Ihre Datei package.json und entfernen Sie die Zeilen für jshint und gulp-jshint, bevor Sie die Installation ausführen. Stellen Sie sicher, dass Sie die Datei package.json bearbeiten, um die Zeilen zu entfernen, die jshint und gulp-jshint aufrufen. Andernfalls bleibt der Fehler bestehen.

Ben Erwin
quelle
-1

Manchmal spielt die Reihenfolge der Phrasierung eine Rolle. Ich fand heraus, dass dies npm install --save-dev jshint gulp-jshintnicht funktioniert, aber dies npm install jshint gulp-jshint --savefunktioniert

Cengkuru Michael
quelle
-1

Hier zielen Sie jshint, was Sie wahrscheinlich nicht installiert haben. (Du machst das in gulp.task('jshint', function() {.)

Versuche dies:

gulp.task('gulp-jshint', function() {

Dies entspricht der Art und Weise, wie Sie es requiregetan haben.

var jshint = require('gulp-jshint');
Onyxglock
quelle
-2

Es gibt eine vorübergehende Lösung, um diesen Fehler zu umgehen. Auch diese temporäre Lösung funktioniert ordnungsgemäß, wenn Sie die Datei jshint.js in Ihrer Anwendung nirgendwo verwenden möchten.

  1. Gehen Sie zu Ihrer Datei gulpfile.js.
  2. Kommentieren Sie den Code in Zeile 4.

    var jshint = require('gulp-jshint');
  3. Führen Sie nun den Befehl gulp in Ihrem Terminal aus. Ihr Server wird aktiv sein.

Pushp Singh
quelle
Diese Antwort behebt nicht das Grundproblem, das meiner Meinung nach im Mittelpunkt einer Antwort auf SO stehen sollte.
Simeg