macOS更新 10.15.5 后,brew 程序 link 问
2020-06-18 本文已影响0人
夙小叶
macOS更新 10.15.5
后,brew
安装的程序无法使用,Link
也出现了问题,
前段时间懒得去修复,今天要用的时候傻眼了,趁有时间 Google 了一下,
没有找到比较完美的解决方案(大概吧),不过 GitHub 上有人提出一种方法,解决了我的问题,其他人不知道
- 出处:#6593
一句话就是根据 brew doctor
的指示解决问题
过程
- 更新软件并清除缓存:
brew update && brew upgrade && brew cleanup
- 检查问题:
brew doctor
其中有一个 Warning
提示酒窖里面有许多酒桶(程序)没建立链接:
![](https://img.haomeiwen.com/i11192383/b2d65bfac7beed09.png)
- Vim 新建一个
.sh
脚本,将上面输出的未链接程序全部复制到文件内:
vim brewlink.sh
# 加上前缀
:%s/^/\&\& brew link /g
# 加上后缀
:%s/$/ \\/g
# 行首加上解释器
#!/bin/bash
# 运行脚本
bash brewlink.sh
![](https://img.haomeiwen.com/i11192383/56abcd065ce6cd6b.png)
![](https://img.haomeiwen.com/i11192383/9f876c1cb10545bc.png)
因为几天前我将 bash-completion
解除链接,替换为了 bash-completion2
,所以出现了下面的错误:
![](https://img.haomeiwen.com/i11192383/38507f0a095be3ff.png)
也就是说你前面或者手动链接或者其他意外将链接指向了新程序却没有删除旧程序,可以根据上面的说明解除链接或直接删除未连接的内个程序(就是 brewlink.sh
内未建立链接的内个程序)
# 直接删除
brew uninstall bash-completion
因为上面的意外 brew link
被终止了,清除 brewlink.sh
内的内容,将未建立链接的重复上面的步骤继续建立链接:
# 检查是否还有未建立链接的程序
brew doctor
# 如果还有未建立链接的,重复步骤 3
- 解决了
brew link
问题,根据brew doctor
的提示还有几处错误,根据说明解决:
4.1 添加 PATH
echo 'export PATH="/usr/local/sbin:$PATH"' >> /Users/$USER/.bash_profile
![](https://img.haomeiwen.com/i11192383/3679095b9219d064.png)
4.2 更新系统/软件,若没有可用更新,就删掉 CommandLineTools
,再安装 xcode-select
softwareupdate --all --install --force
# 如果输出没什么要更新的,那就根据提示继续执行下面的命令
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
![](https://img.haomeiwen.com/i11192383/cd5fe641b3eb41d1.png)
- 查看是否还存在什么问题
brew doctor
# Your system is ready to brew.
运行前面无法使用的程序检查可用性,问题已经解决了:
![](https://img.haomeiwen.com/i11192383/069c2446ecdd098e.png)