我一直認爲npm test
命令剛剛啓動了我會寫的package.json裏面的腳本:{test:...} section。但是當它不起作用時,我有這個奇怪的錯誤。「npm test」如何工作?
所以,我有這一塊配置的的package.json
"scripts": {
"start": "node index.js",
"test": "mocha tests/spec.js"
}
當我嘗試運行測試中,我輸入端子npm test
和過這樣的錯誤:
module.js:340
throw err;
^
Error: Cannot find module 'commander'
但一切當我輸入mocha tests/spec.js
時是OK。任何想法是爲什麼?
UPDATE:
我試圖安裝指揮官,我有一個錯誤找不到模塊「水珠」。安裝水珠後,我有錯誤:無法找到模塊「../」
但實際上,問題是,爲什麼我有這些錯誤,爲什麼運行mocha tests/spec.js
當一切OK?
指揮官在你的文件系統中安裝了哪裏? – rninty
它確實調用了package.json的scripts.test屬性中指定的命令,但它也設置了某些環境變量,例如PATH,因此您可以引用僅存在於node_modules目錄中但不是全局安裝的命令。 – Brandon
請確保將commander添加到您的package.json和'npm install'中::) –