Windows 10でnodejsプロジェクトに対して test を実行すると、package.jsonの行は次のようになります。
"test": "nodemon --exec 'mocha -R min'"
私は得ます:
> nodemon --exec 'mocha -R min'
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `'mocha -R min'`
''mocha' is not recognized as an internal or external command,
operable program or batch file.
[nodemon] app crashed - waiting for file changes before starting...
rs
[nodemon] starting `'mocha -R min'`
''mocha' is not recognized as an internal or external command,
operable program or batch file.
[nodemon] app crashed - waiting for file changes before starting...
それは行でうまくいきました:
"test": "nodemon --exec \"mocha -R min\""
package.json
Windows OSを使用している場合は、単一引用符を使用しないでください。
"テスト": "nodemon --exec 'mocha -R min'"
これを使って
"テスト": "nodemon --exec mocha -R min"
モカをグローバルにインストールすると機能します
npm install -g mocha --save-dev
私はWindowsカーネルやエキスパートではありません。私の場合、テストスクリプトはnpmは内部または外部コマンドとして認識されません。というエラーメッセージでエラーを出し続けました。
a)私がそれを持っていたとき
"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec 'npm test'"
数回実行されて停止し、エラーが発生し始めたので、
"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec \"npm test\""
それでも、認識されないnpmの同じエラーが発生し続けました... Ctrl cを何回発行しても、nodemonは停止しません。
私はラップトップを再起動し、nodeJsをアンインストールして再インストールし、コントロールパネルのPATH変数を更新しました-ユーザーアカウント-環境変数はすべて終わりがありません。
これは、どこかまたは何らかの形で、nodemonまたはmochaのどちらかがわからない、何がハングしていると信じるように導いてくれます。
"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec \"npm test\""
引き続き同じエラーが発生します。
b)そこで、キーの名前をtest-watchからtest-newに変更しました
"test": "mocha **/*.test.js",
"test-new": "nodemon --exec \"npm test\""
そしてnpm run test-newを実行し、すべてのテストが正常に実行されました。
図に行く...
したがって、異なるプロジェクト間で一意のテストスクリプト名を維持することに固執すると思います。私には他に説明はありません...誰もがこれに光を当てることができますか?そうしてください...
"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec \"npm test\""
実行用
npm run test-watch
別のアプローチは、環境変数にモカパスを追加してからbashを再起動することです。エディターで、モカのbinフォルダーに移動し、両方のパスをシステム環境に追加します。示されているすべてのスクリプトオプションは、このアプローチで機能します
"scripts": {
"test": "nodemon --exec \"mocha -R min\""
}
または
"scripts": {
"test": "nodemon --exec 'mocha -R min'"
}
または
"scripts": {
"test": "nodemon --exec mocha -R min"
}
package.jsonファイルには、正しい依存関係の定義があります
これが問題の解決に役立つことを願っています。
また、Windowsを使用していてgit-bashを使用している場合は、NODE_ENV = developmentを確認してください。何らかの理由で、デフォルトで本番環境に設定されています。
$ echo $NODE_ENV
--productionフラグを指定すると(またはNODE_ENV環境変数がproductionに設定されている場合)、npmは "devDependencies"にリストされているモジュールをインストールしません
これを確認するには、node_modules /フォルダーをチェックして、mochaがインストールされているかどうかを確認します。そうでない場合:
$ npm install --only=dev
また:
$ NODE_ENV=development
$ npm i -D mocha
トリックを行います。
package.json
内で、"test"
スクリプトの直後に新しいスクリプトを追加する必要があります。カスタムスクリプトを作成し、"test-watch"
という名前を付け、"test-watch"
is "nodemon --exec \"npm test\""
(つまり"test-watch": "nodemon --exec \"npm test\""
)の値を指定できます。この手順の後、npm run test-watch
コマンドを使用できます。ターミナルで。