当前位置: 代码迷 >> 综合 >> Homebrew MacOS 错误 Error: /usr/local/opt/qt is not a valid keg
  详细解决方案

Homebrew MacOS 错误 Error: /usr/local/opt/qt is not a valid keg

热度:89   发布时间:2023-11-18 02:04:36.0

问题描述

MacOS常用的homebrew在安装或更新qt brew install qt
或在运行brew upgrade 时会对所有的库进行更新。

出现如下错误:

Error: /usr/local/opt/qt is not a valid keg

原因分析

输入命令ls -ld /usr/local/opt /usr/local/opt/qt会出现:

$ ls -ld /usr/local/opt /usr/local/opt/zlib
drwxrwxr-x  196 dyc  admin  6272  3  9 16:49 /usr/local/opt
drwxr-xr-x   3 dyc  admin    96  3  9 16:37 /usr/local/opt/qt

运行brew doctor会出现有如下的警告:
请添加图片描述
但是/usr/local/opt下的所有内容(至少现在是这样)都应该是指向Cellar的符号链接:(在解决完之后的正确输出)

$ ls -ld /usr/local/opt /usr/local/opt/qt
drwxrwxr-x  196 dyc  admin  6272  3  9 16:59 /usr/local/opt
lrwxr-xr-x    1 dyc  admin    19  3  9 16:47 /usr/local/opt/qt -> ../Cellar/qt/5.11.0

解决方法

首先将/usr/local/opt/qt文件夹下的内容进行删除(建议备份一下):

# 拷贝来进行备份,将dyc替换为你的用户名
cp -r /usr/local/opt/qt /Users/dyc/
# 删除文件,如果需要root权限就sudo一下
rm -r /usr/local/opt/qt

根据brew doctor的提示,建立符号连接:

 brew link --overwrite qt

可以看到上一小节最后部分的正确输出。
然后再运行安装或更新命令就可以了

 brew install qt# 或brew upgrade

注:解决方法同样适用于zlib等库的错误。

Error: /usr/local/opt/zlib is not a valid keg
  相关解决方案