Homebrew で入れた Pow が起動しなくなる問題の解決

brew install pow したあと brew info pow に書かれている以下の手順でインストールした Pow が突然起動しなくなった。

sudo pow --install-system
pow --install-local

原因

~/Library/LaunchAgents/cx.pow.powd.plist にインストールされるプロパティ・リストの起動時の引数として Homebrew でインストールした noderealpath が書かれているが、この 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