MacのAutomatorでnpmコマンドを使う


自動ビルドはCIに組み込むのが一般的だが、一時的にローカルで検証用のenvファイルに差し替えてビルドしたいときがあったりする。

何が問題か?

Automatorでシェルスクリプトを使えるシェルスクリプトを実行アクションの実行環境はターミナルの環境依存を継承しないためnpmコマンドをそのまま使うことがでず、npm command not foundエラーが発生する。つまりパスが通っていない状態。

解決法

最初にnpmへのパスを通すためにシェルスクリプトを実行アクションのシェルウィンドウに以下を入力。
1行目でパスを通した後はnpmコマンドを実行できる。

export PATH=$PATH:/usr/local/bin
cd myProjectDir
npm run build