ElectronでMainプロセスからchild_processでコマンドを叩くとエラーコード: 127
ElectronのMainプロセスから、Nodeの`child_process.exec`とか使って、`ffmpeg`とかそういう「後から入れたコマンド」を叩いた時にエラーになった。
その問題と対策をメモ。
$PATHのせい
macOSの場合、`.bashrc`とか`.zshrc`とかで追加した環境変数が引き継がれないらしく、それで「コマンドがねーよ」って言われてる。
なのでそこを解決すればよい。
具体的には、
GitHub - sindresorhus/fix-path: Fix the $PATH on macOS when run from a GUI app
こういうのを入れるほか、
process.env['PATH'] = '/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin';
みたく自力で定義してもいい。
`electron-packager`でパッケージしたら発生した
`electron .`とかして実行してる間は発生しなかったので、ちょっとハマった。