Gulp Error: Cannot find module 'jshint/src/cli'

JavascriptTerminalGulpJshint

Javascript Problem Overview


So I've got a fresh install of El Capitan and I'm giving these task runners another go.

I'm following sitepoint's An introduction to Gulp.js, but I'm stuck on step four, when I try to run gulp jshint I get "Error: Cannot find module 'jshint/src/cli'"

I've no idea what's causing this, which is why I'm asking here. Below are a couple of screen grabs to help with the issue.

Terminal error when running gulp jshint

Folder structer for gulp project

As always, I'm eternally grateful for any advice.

Javascript Solutions


Solution 1 - Javascript

You need to install jshint as well, that will sort out the issue.

> npm install --save-dev jshint gulp-jshint

Solution 2 - Javascript

It turns out I need to use npm install --save-dev jshint gulp-jshint instead of npm install gulp-jshint --save-dev as the tutorial stated. Discussion around this was found at https://github.com/spalger/gulp-jshint/issues/131 with massive thanks to @user3042437 for suppling the link.

Solution 3 - Javascript

If you still get the error after you put in the correct syntax above, (npm install --save-dev jshint gulp-jshint), which works.

Before you run the install again, go into your package.json file and remove the lines for jshint and gulp-jshint before you run the install, make sure you edit you package.json to remove the lines that call jshint and gulp-jshint, otherwise, the error will persist.

Solution 4 - Javascript

Sometimes the order of the phrasing does matter. I found out that this npm install --save-dev jshint gulp-jshint does not work but this npm install jshint gulp-jshint --save works

Solution 5 - Javascript

Here you target jshint, which you probably didn't install. (You do this in gulp.task('jshint', function() {.)

Try this:

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

This matches the way you required it.

var jshint = require('gulp-jshint');

Solution 6 - Javascript

There is a temporary solution for bypassing this error. Even this temporary solution will also work properly, if in case you don't want to use jshint.js file in you application anywhere.

  1. Go to your gulpfile.js file.

  2. Comment the code in line number 4.

     var jshint = require('gulp-jshint');
    
  3. Now, run gulp command in your terminal. Your server will be up.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionlateralausView Question on Stackoverflow
Solution 1 - JavascriptfmatarView Answer on Stackoverflow
Solution 2 - JavascriptlateralausView Answer on Stackoverflow
Solution 3 - JavascriptBen ErwinView Answer on Stackoverflow
Solution 4 - JavascriptCengkuru MichaelView Answer on Stackoverflow
Solution 5 - JavascriptonyxglockView Answer on Stackoverflow
Solution 6 - JavascriptPushp SinghView Answer on Stackoverflow