ข้อผิดพลาดอึก: ไม่พบโมดูล 'jshint / src / cli'


117

ดังนั้นฉันจึงมีการติดตั้ง El Capitan ใหม่และฉันให้นักวิ่งงานเหล่านี้ไปอีกครั้ง

ฉันกำลังติดตามเรื่อง An Introduction to Gulp.js ของ sitepointแต่ฉันติดอยู่ในขั้นตอนที่สี่เมื่อพยายามเรียกใช้gulp jshintฉันได้รับ " Error: Cannot find module 'jshint/src/cli'"

ฉันไม่รู้ว่าอะไรเป็นสาเหตุจึงมาถามที่นี่ ด้านล่างนี้คือการจับภาพหน้าจอสองสามรายการเพื่อช่วยในการแก้ปัญหา

ข้อผิดพลาดของเทอร์มินัลเมื่อเรียกใช้ gulp jshint

โครงสร้างโฟลเดอร์สำหรับโครงการอึก

เช่นเคยฉันรู้สึกขอบคุณตลอดไปสำหรับคำแนะนำใด ๆ


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

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 หากคุณยังอยู่ใกล้ ๆ - คุณควรยอมรับคำตอบนี้ :) เครื่องหมายถูกด้านซ้าย
Tim Malone

28

ปรากฎว่าฉันต้องใช้npm install --save-dev jshint gulp-jshintแทนnpm install gulp-jshint --save-devตามที่บทช่วยสอนระบุไว้ การสนทนาเกี่ยวกับเรื่องนี้พบได้ที่https://github.com/spalger/gulp-jshint/issues/131ขอบคุณมากที่ @ user3042437 สำหรับการสนับสนุนลิงก์


ฉันใช้บทช่วยสอนเดียวกันและติดอยู่ที่จุดเดิม ขอบคุณสำหรับการโพสต์คำตอบ! ใช้งานได้ดีในขณะนี้
Orlando Morales-Cochran

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');

-2

มีวิธีแก้ปัญหาชั่วคราวสำหรับการข้ามข้อผิดพลาดนี้ แม้แต่โซลูชันชั่วคราวนี้ก็ยังทำงานได้อย่างถูกต้องหากในกรณีที่คุณไม่ต้องการใช้ไฟล์ jshint.js ในแอปพลิเคชันของคุณทุกที่

  1. ไปที่ไฟล์ gulpfile.js ของคุณ
  2. แสดงความคิดเห็นรหัสในบรรทัดที่ 4

    var jshint = require('gulp-jshint');
  3. ตอนนี้เรียกใช้คำสั่ง gulp ในเทอร์มินัลของคุณ เซิร์ฟเวอร์ของคุณจะขึ้น


คำตอบนี้ไม่ได้แก้ไขปัญหารากซึ่งฉันคิดว่าควรเป็นจุดสำคัญของคำตอบเกี่ยวกับ SO
simeg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.