Windows で npm を実行しており、実行スクリプトで並列操作を使用およびスタイル設定したいのですが、cmd で並列実行すると package.json ファイルが乱雑になります。次のように記述します。
scripts: { "go": "cmd1 & cmd2"}
;
しかし、npm は、スクリプトを cmd.exe の下で実行しますが、cmd.exeはこれをスクリプトに変更できるかどうかはわかりません。bat1.bat{ "go": "bats/bat1.bat")
は、Windows スタイルの呼び出しまたは開始コマンドを使用してコマンドを並列実行する cmd bat ファイルです。これは機能しますが、Windows でのみ機能するスクリプトが提供されます。
npm を使って bash クローンまたは cygwin でスクリプトを実行できれば、はるかに簡単になります。
試してみましたconfig: { "shell": "bash"}
が、それでもcmd.exeが実行されました
特定のシェル (cmd.exe ではない) を使用して npm にスクリプトを実行するように指示する方法はありますか?
ベストアンサー1
npm 5.1以降
npm config set script-shell "C:\\Program Files (x86)\\git\\bin\\bash.exe"
または(64ビットインストール)
npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
以下のものが必要ですWindows用のgitがインストールされている。
次のコマンドを実行すると元に戻すことができます。
npm config delete script-shell