一、问题现象
启动Redis服务命令:
bash
brew services start redis
异常信息如下:
bash
Error: uninitialized constant Homebrew::Service::System
/opt/homebrew/Library/Homebrew/macos_version.rb:150:in `const_missing'
/opt/homebrew/Library/Taps/homebrew/homebrew-services/cmd/services.rb:61:in `services'
/opt/homebrew/Library/Homebrew/brew.rb:86:in `<main>'
停止Redis服务命令:
bash
brew services stop redis
异常信息同上。
二、解决办法
删除 homebrew-services 目录,并升级,详细步骤如下:
1、删除homebrew-services 目录
bash
rm -rf /opt/homebrew/Library/Taps/homebrew/homebrew-services
2、升级
bash
brew tap homebrew/services
升级结果如下(结果中有个Error,可忽略):
bash
Running `brew update --auto-update`...
Error: Failed to download https://formulae.brew.sh/api/cask.jws.json!
Installing from the API is now the default behaviour!
You can save space and time by running:
brew untap homebrew/core
brew untap homebrew/cask
==> Downloading https://formulae.brew.sh/api/cask.jws.json
############################################################################################################################################################################## 100.0%
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
==> New Casks
kuaitie
==> Tapping homebrew/services
Cloning into '/opt/homebrew/Library/Taps/homebrew/homebrew-services'...
remote: Enumerating objects: 2564, done.
remote: Counting objects: 100% (317/317), done.
remote: Compressing objects: 100% (163/163), done.
remote: Total 2564 (delta 180), reused 216 (delta 149), pack-reused 2247
Receiving objects: 100% (2564/2564), 711.51 KiB | 1.52 MiB/s, done.
Resolving deltas: 100% (1180/1180), done.
Tapped 1 command (45 files, 886.1KB).
升级成功。
3、验证升级结果
bash
brew services list
结果:
bash
Name Status User File
redis none
再次使用brew services start redis
、brew services stop redis
尝试启动、停止Redis服务:
bash
==> Successfully started `redis` (label: homebrew.mxcl.redis)
bash
Stopping `redis`... (might take a while)
==> Successfully stopped `redis` (label: homebrew.mxcl.redis)
问题解决。