npm script が楽やなと思って、便利系ツールの起動 (docker-compose.yaml
がリポジトリに散らばったコンテナ群の一斉起動とか) を npm script に寄せているのですが、npm run
したらエラーが出るといるメンバの溜息を聞いて調べてみるとおもしろいことが分かりました。
git bash を使っている Windows での開発者が npm run
すると、git-bash 配下の bash ではなく、cmd.exe が立ち上がる。
マジですか。おどろいた。
The actual shell your script is run within is platform dependent. By default, on Unix-like systems it is the /bin/sh command, on Windows it is the cmd.exe. https://docs.npmjs.com/cli/run-script.html
ただ、npm には script-shell
という設定があり、これによって npm run
で起動するシェルを制御できる。
The shell to use for scripts run with the npm run command. npm Documentation
というわけで、git-bash 上の bash を起動したければ、
npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
とでもしておけば良いでしょう。