Macでbrew services start nginxを実行するときに以下のエラーが出ました。
Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/{username}/Library/LaunchAgents/homebrew.mxcl.nginx.plist` exited with 5.
エラーの解消方法をご紹介します。
Nginxの学習はnginx実践ガイドがおすすめです。
私も実際にこちらの書籍でNginxを学びました、ぜひ一度ご覧になってください!
動作確認環境
macOS Monterey 12.3
MacBook Pro(13-inch, M1, 2020)
エラー発生手順
Nginxのインストール
以下の記事を参考にNginxをインストールします。
Nginxはlocalhost(Mac自身)にインストールし、ポート番号は8080番とします。
Nginxをログイン時にサービス起動するように設定
ログイン時にNginxが自動でサービス起動するように、以下のコマンドを実行したところ上述のエラーが発生しました。
brew services start nginx
エラーの原因
.plistファイルはデーモン/エージェントの設定ファイルのことです。
また、/Users/{username}/Library/LaunchAgentsには、
launchd
プロセス(システムの起動時に、コンピュータをセットアップするためにカーネルによって実行される)が適用されるエージェントを格納します。
参考:https://support.apple.com/ja-jp/guide/terminal/apdc6c1077b-5d5d-4d35-9c19-60f2397b2369/mac
つまり、/Users/{username}/Library/LaunchAgents/homebrew.mxcl.nginx.plistは、
システム(Mac)起動時にエージェントとして実行されるNginxの設定ファイルです。
したがって、以下が実行されたタイミングでhomebrew.mxcl.nginx.plist が呼び出されることがエラーの原因と考えられらます。
/bin/launchctl
エラーの解消方法
homebrew.mxcl.nginx.plist が呼び出されないようアンロードします。
以下のコマンドを実行します。
launchctl unload -w /Users/$USER/Library/LaunchAgents/homebrew.mxcl.nginx.plist
–wオプションをつけることでOSブート時に自動的に起動しないようにしています。
まとめ
Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/{username}/Library/LaunchAgents/homebrew.mxcl.nginx.plist` exited with 5.
上記エラーが発生したときの解消方法をご紹介しました。
同様のエラーが起こっている方の助けになれば幸いです!