升级至Mac OS 13(Ventura)后安装curb 0.9.11失败,Bundler无法继续
解决MacOS Ventura安装curb 0.9.11失败的方案
以下是针对升级到MacOS Ventura后安装curb 0.9.11失败的几种解决办法:
1. 修复Xcode命令行工具环境
升级系统后,Xcode Command Line Tools的配置可能失效,先确保工具是最新且配置正确:
- 重新安装Xcode Command Line Tools:
xcode-select --install - 重置工具路径:
sudo xcode-select --reset - 接受Xcode许可协议(避免编译权限问题):
sudo xcodebuild -license accept
2. 指定Homebrew安装的curl进行编译
Ventura自带的curl版本与curb 0.9.11存在兼容性问题,用Homebrew安装新版curl并指定给gem编译:
- 安装curl:
brew install curl - 配置bundle使用该curl编译curb:
bundle config build.curb --with-curl-dir=$(brew --prefix curl) - 重新执行bundle安装:
bundle install
3. 升级curb到兼容版本
curb 0.9.11是较旧版本,对Ventura的支持不完善,尝试升级到更高版本:
- 修改Gemfile中的curb版本:
gem 'curb', '>= 0.9.12' - 更新gem并重新安装:
bundle update curb bundle install
4. 重新安装Ruby环境
如果RVM管理的Ruby因系统升级出现编译环境问题,重新安装对应Ruby版本:
rvm reinstall 2.6.6
完成后再执行bundle install
错误原因说明
升级到MacOS Ventura后,系统自带的curl版本移除了curlopt_tcp_keepalive相关常量,而curb 0.9.11的原生扩展编译依赖该常量;同时系统升级可能导致Xcode编译工具的配置失效,引发编译失败。
内容的提问来源于stack exchange,提问作者Abhishek Boken
相关产品推荐
相关产品推荐

