You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1 Sonoma系统下Ruby2.3.1无法安装Nokogiri1.7.1 gem求助

解决M1 Pro + macOS Sonoma下安装Nokogiri 1.7.1的问题

错误原因

Nokogiri 1.7.1属于老旧版本,无法适配M1芯片的ARM架构以及macOS Sonoma自带的新版libxml2库,编译时出现的LZMA_OK未定义错误,就是因为新版libxml2的API变更导致旧版Nokogiri代码不兼容。

解决步骤

  1. 安装旧版兼容的libxml2
    使用Homebrew安装2.9版本的libxml2:

    brew install libxml2@2.9
    
  2. 指定旧版libxml2路径编译安装Nokogiri
    设置环境变量并执行安装命令:

    export PKG_CONFIG_PATH="/opt/homebrew/opt/libxml2@2.9/lib/pkgconfig"
    gem install nokogiri -v '1.7.1' -- --use-system-libraries --with-xml2-include=/opt/homebrew/opt/libxml2@2.9/include/libxml2 --with-xml2-lib=/opt/homebrew/opt/libxml2@2.9/lib
    
  3. 配合Bundle完成安装
    如果需要通过bundle install完成依赖安装,先配置Bundle的Nokogiri编译参数:

    PKG_CONFIG_PATH="/opt/homebrew/opt/libxml2@2.9/lib/pkgconfig" bundle config build.nokogiri "--use-system-libraries --with-xml2-include=/opt/homebrew/opt/libxml2@2.9/include/libxml2 --with-xml2-lib=/opt/homebrew/opt/libxml2@2.9/lib"
    bundle install
    

额外提示

若Ruby 2.3.1在M1芯片上运行仍有问题,可尝试打开终端时右键选择「显示简介」,勾选「使用Rosetta打开」后再执行命令,旧版Ruby对ARM架构的原生支持有限,Rosetta可模拟x86环境提升兼容性。

内容的提问来源于stack exchange,提问作者ADK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 18:17:18