macOS下cmake链接异常提示zsh: command not found如何修复?
zsh下brew安装的cmake提示command not found修复方案
按顺序操作即可定位解决问题:
- 首先排除安装包损坏问题:执行
brew reinstall cmake重新安装最新稳定版,避免安装过程中断导致的文件缺失。 - 强制重建软链:直接执行
brew link cmake经常会因为旧版本软链残留、目录权限不足静默失败,改用带强制覆盖参数的命令:
如果执行时返回权限报错,根据芯片类型给Homebrew的可执行目录补当前用户所有权:brew link cmake --overwrite --force- M系列(Apple Silicon)芯片执行:
sudo chown -R $(whoami) /opt/homebrew/bin - Intel芯片机型执行:
sudo chown -R $(whoami) /usr/local/bin
权限修复后重新执行上面的强制link命令。
- M系列(Apple Silicon)芯片执行:
- 排查PATH环境变量缺失问题:绝大多数link成功仍找不到命令的场景,都是zsh没有把Homebrew的二进制目录纳入命令搜索范围。
先验证cmake本体可执行:M系列芯片跑/opt/homebrew/bin/cmake --version,Intel芯片跑/usr/local/bin/cmake --version,如果命令正常返回版本信息,就可以确定是PATH配置问题。
把对应Homebrew路径写入zsh配置文件:
M系列芯片执行:
Intel芯片执行:echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
写完执行echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrcsource ~/.zshrc加载新配置。 - 刷新zsh命令缓存:zsh会缓存已记录的命令路径,新生成的软链可能不会被立刻识别,执行
rehash清空路径缓存后再试cmake命令即可。
如果以上操作完成后仍有异常,执行which -a cmake查看所有被识别到的cmake路径,排查是否有conda安装版本、官网下载的CMake GUI版本残留的无效路径干扰,把~/.zshrc里对应无效路径的配置删除即可。
内容的提问来源于stack exchange,提问作者heresy pedanter
相关产品推荐
相关产品推荐

