MacOS系统git clone报错libcurl版本不兼容问题咨询
问题根因
核心问题为Anaconda环境内置的libcurl.4.dylib版本仅为11.0.0,低于Git对该依赖要求的最低12.0.0版本;同时Anaconda的二进制路径在系统环境变量PATH中优先级高于系统、Homebrew安装的Git与curl路径,导致Git运行时优先加载了Anaconda提供的低版本依赖库,即使重新安装Git也无法解决冲突。
可落地的解决方法
按操作成本从低到高排序,按需选择即可:
单次执行临时绕过
直接调用系统/ Homebrew安装的Git的绝对路径执行克隆操作,Intel架构Mac路径参考:/usr/local/bin/git clone https://github.com/myusername/mypackage.gitARM架构(M系列芯片)Mac路径参考:
/opt/homebrew/bin/git clone https://github.com/myusername/mypackage.git当前终端会话临时修复
执行命令将Homebrew的二进制路径优先级临时提到Anaconda之前,当前终端窗口关闭后自动恢复原有配置,不会影响Anaconda的正常使用:# Intel Mac执行 export PATH=/usr/local/bin:$PATH # ARM Mac执行 export PATH=/opt/homebrew/bin:$PATH执行完成后直接运行原有克隆命令即可。
永久修复Git调用(不影响Anaconda环境)
给Git配置别名,指定运行时优先加载高版本的libcurl库,操作如下:- 打开当前使用的Shell配置文件,zsh对应
~/.zshrc,bash对应~/.bash_profile - 末尾添加一行配置:
alias git='DYLD_LIBRARY_PATH=/usr/local/opt/curl/lib git' - 保存后执行
source ~/.zshrc(或对应配置文件)生效,之后所有Git调用都会自动加载高版本依赖。
- 打开当前使用的Shell配置文件,zsh对应
一劳永逸升级依赖
如果可以接受升级Anaconda内置的curl包,直接执行命令将Anaconda的libcurl升级到符合要求的版本即可:conda update curl
验证步骤
修复完成后执行git --version,如果能正常输出版本号无报错,即可正常执行克隆、推送等Git操作。
内容的提问来源于stack exchange,提问作者D.A.
相关产品推荐
相关产品推荐

