brew install pow
したあと brew info pow
に書かれている以下の手順でインストールした Pow が突然起動しなくなった。
sudo pow --install-system pow --install-local
原因
~/Library/LaunchAgents/cx.pow.powd.plist
にインストールされるプロパティ・リストの起動時の引数として Homebrew でインストールした node
の realpath が書かれているが、この realpath にはバージョン番号が含まれているため、Pow をインストールした時点から node のバージョンが変わることによって存在しないパスを参照して起動に失敗した。
symlink を参照しても特に支障はないと考えたので起動時の引数を変更した。
diff --git a/cx.pow.powd.plist b/cx.pow.powd.plist index e6e4e27..ded9906 100644 --- a/cx.pow.powd.plist +++ b/cx.pow.powd.plist @@ -6,8 +6,7 @@ <string>cx.pow.powd</string> <key>ProgramArguments</key> <array> - <string>/opt/homebrew/Cellar/node/0.10.24/bin/node</string> - <string>/opt/homebrew/Cellar/pow/0.4.1/libexec/bin/pow</string> + <string>/opt/homebrew/bin/pow</string> </array> <key>KeepAlive</key> <true/>
結論
- launchd に登録するプロパティ・リストには標準出力・標準エラー出力のリダイレクト先も指定しておく
StandardOutPath
StandardErrorPath