Ich dachte immer, dass npm test
Befehl startet nur, was ich in package.json schreiben würde innerhalb Skripte: {test: ...} Abschnitt. Aber ich habe diesen seltsamen Bug, wenn es nicht funktioniert.Wie funktioniert "npm test"?
Also, ich habe dieses Stück config in package.json
"scripts": {
"start": "node index.js",
"test": "mocha tests/spec.js"
}
Wenn ich versuche, Tests ausführen ich npm test
in Terminal eingeben und hatte diesen Fehler:
module.js:340
throw err;
^
Error: Cannot find module 'commander'
Aber alles ist in Ordnung, wenn ich nur mocha tests/spec.js
eintippe. Irgendwelche Ideen warum ist das?
UPDATE:
Ich habe versucht, Kommandant zu installieren und ich hatte einen Fehler kann nicht Modul 'Glob' finden. Nach der Installation von glob Ich habe Fehler: nicht Modul finden ‚../‘
Aber eigentlich Frage ist, warum habe ich diese Fehler und warum ist alles in Ordnung, wenn mocha tests/spec.js
läuft?
Wo ist Commander in Ihrem Dateisystem installiert? – rninty
Es ruft den Befehl auf, der in der scripts.test -Eigenschaft von package.json angegeben ist, aber es richtet auch bestimmte Umgebungsvariablen ein, z. B. PATH, sodass Sie auf Befehle verweisen können, die nur im Verzeichnis node_modules vorhanden sind, aber nicht global installiert sind. – Brandon
Stelle sicher, dass du commander.json und 'npm install' hinzufügst:) –