Ошибка Gulp: не удается найти модуль jshint / src / cli

117

Итак, у меня есть свежая установка El Capitan, и я еще раз попробую этим исполнителям.

Я слежу за sitepoint's Введение в Gulp.js , но застрял на четвертом шаге, когда пытаюсь запустить, gulp jshintполучаю " Error: Cannot find module 'jshint/src/cli'"

Я понятия не имею, что вызывает это, поэтому я спрашиваю здесь. Ниже приведены несколько снимков экрана, которые помогут решить эту проблему.

Ошибка терминала при запуске gulp jshint

Структура папок для проекта gulp

Как всегда, я бесконечно благодарен за любой совет.

lateralaus
источник
1
Установлен ли jshint?
MinusFour
Да, это так. Я даже переустановил его, чтобы убедиться, но все равно получаю ту же ошибку.
lateralaus
6
Как вы его установили? Необходимо установить следующим образом: npm install jshint gulp-jshint --save-devиз корня вашего приложения узла.
MinusFour
1
@lateralaus ты тоже делал npm install jshint?
Flobin
1
Я использовал npm install gulp-jshint --save-dev, чем отличается от npm install jshint?
lateralaus

Ответы:

327

Вам также необходимо установить jshint , чтобы решить проблему.

> npm install --save-dev jshint gulp-jshint
fmatar
источник
1
Это оно ! Большое спасибо!
Psi
Разве это не то, что он делает? npm install gulp-jshint --save-dev
lateralaus
2
Я столкнулся с той же проблемой. Я думаю, что разработчики внесли изменения в структуру gulp-jshint в последней версии, которая вызвала эту проблему (если вы видите github.com/spalger/gulp-jshint/issues/131 ). При установке я заметил предупреждение о взаимозависимости gulp-jshint.
CSharp
8
@ user3042437 Ура! Это сработало: D Итак, оказывается, мне нужно использовать npm install --save-dev jshint gulp-jshintвместо того, npm install gulp-jshint --save-devкак указано в учебнике.
lateralaus
@lateralaus Если вы все еще рядом - вы должны принять этот ответ :) галочка слева
Тим Мэлоун
28

Оказывается, мне нужно использовать npm install --save-dev jshint gulp-jshintвместо того, npm install gulp-jshint --save-devкак указано в учебнике. Обсуждение этого вопроса было найдено на https://github.com/spalger/gulp-jshint/issues/131 с огромной благодарностью @ user3042437 за предоставление ссылки.

lateralaus
источник
Я использовал тот же учебник и застрял на одном месте. Спасибо за ответ! Теперь работает нормально.
Орландо Моралес-Кокран,
0

Если вы по-прежнему получаете сообщение об ошибке после того, как ввели правильный синтаксис выше, (npm install --save-dev jshint gulp-jshint), который работает.

Перед повторным запуском установки зайдите в свой файл package.json и удалите строки для jshint и gulp-jshint перед запуском установки. Убедитесь, что вы отредактировали файл package.json, чтобы удалить строки, вызывающие jshint и gulp-jshint, в противном случае ошибка не исчезнет.

Бен Эрвин
источник
-1

Иногда имеет значение порядок фраз. Я обнаружил, что это npm install --save-dev jshint gulp-jshintне работает, но это npm install jshint gulp-jshint --saveработает

Ченгкуру Майкл
источник
-1

Здесь вы нацеливаетесь jshint, которую вы, вероятно, не устанавливали. (Вы делаете это внутри gulp.task('jshint', function() {.)

Попробуй это:

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

Это соответствует тому, как вы requireэто сделали.

var jshint = require('gulp-jshint');
onyxglock
источник
-2

Есть временное решение для обхода этой ошибки. Даже это временное решение также будет работать должным образом, если вы не хотите где-либо использовать файл jshint.js в своем приложении.

  1. Перейдите в файл gulpfile.js.
  2. Прокомментируйте код в строке 4.

    var jshint = require('gulp-jshint');
  3. Теперь запустите команду gulp в своем терминале. Ваш сервер будет работать.

Пушп Сингх
источник
Этот ответ не устраняет основную проблему, которая, я думаю, должна быть в центре внимания ответа на SO.
simeg