Homebrew多服务启动失败报Bootstrap failed:5错误如何解决
解决方案
1. 清理残留的服务进程与plist配置
首先停止所有权限维度下的brew服务,删除残留启动配置,避免上下文冲突:
# 停止普通用户和root权限下的所有brew服务 brew services stop --all sudo brew services stop --all # 删除所有homebrew生成的launchd配置文件 rm -f ~/Library/LaunchAgents/homebrew.mxcl.*.plist sudo rm -f /Library/LaunchDaemons/homebrew.mxcl.*.plist # 杀掉所有残留的服务进程 pkill dnsmasq nginx php redis sudo pkill dnsmasq nginx php redis
2. 修复Homebrew目录权限
该报错大概率是Homebrew相关目录权限异常导致,执行以下命令修复:
sudo chown -R $(whoami):staff $(brew --prefix)/* brew cleanup brew update
3. 验证服务本身配置合法性
先跳过brew services管理,直接检查各服务的配置是否有语法错误:
# 检查PHP配置 php -v # 检查Nginx配置语法 nginx -t # 检查dnsmasq配置 dnsmasq --test # 检查Redis基础可用性 redis-server --version
如果上述命令有报错,先修复对应服务的配置文件问题(比如php.ini语法错误、nginx.conf配置冲突),再进行下一步。
4. 重新启动服务
日常使用不要随意加sudo启动服务,普通用户级服务直接用当前用户身份启动即可:
brew services start php brew services start php@7.4 brew services start redis brew services start nginx brew services start dnsmasq
如果需要服务在系统未登录时就后台运行,再使用sudo启动:
sudo brew services start nginx
问题排查补充
如果启动仍失败,可查看对应服务的日志定位具体原因,日志默认路径为$(brew --prefix)/var/log/下的对应服务目录,比如PHP错误日志为$(brew --prefix)/var/log/php.log,Nginx错误日志为$(brew --prefix)/var/log/nginx/error.log。
内容的提问来源于stack exchange,提问作者Marian Pop
相关产品推荐
相关产品推荐

