Erro Gulp: Não é possível encontrar o módulo 'jshint / src / cli'

117

Portanto, tenho uma nova instalação do El Capitan e estou dando uma nova chance a esses executores de tarefas.

estou seguindo uma introdução ao Gulp.js do sitepoint , mas estou preso na etapa quatro, quando tento executar gulp jshint, recebo " Error: Cannot find module 'jshint/src/cli'"

Não tenho ideia do que está causando isso, é por isso que estou perguntando aqui. Abaixo estão algumas capturas de tela para ajudar com o problema.

Erro de terminal ao executar gulp jshint

Estrutura de pasta para projeto gulp

Como sempre, sou eternamente grato por qualquer conselho.

lateralaus
fonte
1
O jshint está instalado?
MinusFour
Sim, ele é. Até o instalei para ter certeza e continuo recebendo o mesmo erro.
lateralaus
6
Como você instalou? Precisa ser instalado assim: a npm install jshint gulp-jshint --save-devpartir da raiz do seu aplicativo de nó.
MinusFour
1
@lateralaus você também fez npm install jshint?
Flobin
1
Eu usei npm install gulp-jshint --save-devisso é diferente de npm install jshint?
lateralaus

Respostas:

327

Você precisa instalar o jshint também, isso resolverá o problema.

> npm install --save-dev jshint gulp-jshint
fmatar
fonte
1
É isso aí ! Muito obrigado!
Psi
Não é isso que isso faz? npm install gulp-jshint --save-dev
lateralaus
2
Acabei de ter o mesmo problema. Acho que os desenvolvedores fizeram uma alteração na estrutura do gulp-jshint na versão mais recente que causou esse problema (se você ver github.com/spalger/gulp-jshint/issues/131 ). Notei um aviso de dependência de peer quando instalei gulp-jshint.
CSharp
8
@ user3042437 Saúde! Isso resolveu o problema: D Então descobri que preciso usar em npm install --save-dev jshint gulp-jshintvez de npm install gulp-jshint --save-devcomo o tutorial declarou.
lateralaus
@lateralaus Se você ainda está por aí - você deve aceitar esta resposta :) marca de seleção à esquerda
Tim Malone
28

Acontece que preciso usar em npm install --save-dev jshint gulp-jshintvez de npm install gulp-jshint --save-devcomo o tutorial declarou. A discussão sobre isso foi encontrada em https://github.com/spalger/gulp-jshint/issues/131 com muitos agradecimentos a @ user3042437 por fornecer o link.

lateralaus
fonte
Eu estava usando o mesmo tutorial e fiquei preso no mesmo lugar. Obrigado por postar a resposta! Funciona bem agora.
Orlando Morales-Cochran
0

Se você ainda receber o erro depois de inserir a sintaxe correta acima, (npm install --save-dev jshint gulp-jshint), que funciona.

Antes de executar a instalação novamente, vá para o arquivo package.json e remova as linhas para jshint e gulp-jshint antes de executar a instalação, certifique-se de editar seu package.json para remover as linhas que chamam jshint e gulp-jshint, caso contrário, o erro persistirá.

Ben Erwin
fonte
-1

Às vezes, a ordem do fraseado é importante. Eu descobri que isso npm install --save-dev jshint gulp-jshintnão funciona, mas npm install jshint gulp-jshint --savefunciona

Cengkuru Michael
fonte
-1

Aqui você aponta jshint, que provavelmente não instalou. (Você faz isso no gulp.task('jshint', function() {.)

Experimente isto:

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

Isso corresponde ao jeito que você requirefez.

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

Existe uma solução temporária para contornar esse erro. Mesmo esta solução temporária também funcionará corretamente, caso você não queira usar o arquivo jshint.js em seu aplicativo em qualquer lugar.

  1. Vá para o arquivo gulpfile.js.
  2. Comente o código na linha número 4.

    var jshint = require('gulp-jshint');
  3. Agora, execute o comando gulp em seu terminal. Seu servidor estará ativo.

Pushp Singh
fonte
Essa resposta não corrige o problema raiz, que acho que deveria ser o foco de uma resposta em SO.
simeg