Tôi luôn nghĩ rằng lệnh npm test
chỉ khởi chạy những gì tôi sẽ viết trong package.json bên trong tập lệnh: {test: ...} phần. Nhưng tôi có lỗi lạ khi nó không hoạt động.Thử nghiệm "npm" hoạt động như thế nào?
Vì vậy, tôi có mảnh này config trong package.json
"scripts": {
"start": "node index.js",
"test": "mocha tests/spec.js"
}
Khi tôi cố gắng chạy thử nghiệm tôi gõ npm test
trong thiết bị đầu cuối và có lỗi này:
module.js:340
throw err;
^
Error: Cannot find module 'commander'
Nhưng tất cả mọi thứ là OK khi tôi chỉ nhập mocha tests/spec.js
. Bất kỳ ý tưởng tại sao là điều đó?
UPDATE:
Tôi đã cố gắng để cài đặt chỉ huy và tôi đã có một lỗi Không thể tìm thấy mô-đun 'glob'. Sau khi cài đặt glob Tôi có Lỗi: Không thể tìm thấy mô-đun '../'
Nhưng trên thực tế câu hỏi là tại sao tôi có các lỗi này và tại sao tất cả mọi thứ OK khi chạy mocha tests/spec.js
?
Trình lệnh được cài đặt trong hệ thống tệp của bạn ở đâu? – rninty
Nó gọi lệnh được chỉ định trong thuộc tính scripts.test của package.json, nhưng nó cũng thiết lập các biến môi trường nhất định, chẳng hạn như PATH để bạn có thể tham khảo các lệnh chỉ tồn tại trong thư mục node_modules của bạn, nhưng không được cài đặt trên toàn cầu. – Brandon
Hãy chắc chắn thêm lệnh vào package.json của bạn và 'npm install':) –