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

在Apple M1的macOS Ventura上构建nokogiri-xmlsec-instructure gem遇arm64符号错误求助

解决Apple M1 macOS Ventura上nokogiri-xmlsec-instructure gem构建失败问题

错误核心原因

构建时出现的Undefined symbols for architecture arm64错误,是因为该gem的C扩展代码调用了nokogiri内部的私有符号_noko_xml_document_pin_node和_noko_xml_node_wrap,但这些符号在你当前安装的nokogiri版本中已被移除或改名,导致链接阶段无法找到对应符号。

解决步骤

  • 锁定兼容的nokogiri版本
    nokogiri-xmlsec-instructure对nokogiri版本依赖严格,部分版本仅兼容nokogiri < 1.14.0。执行以下命令安装兼容版本并更新依赖:

    gem install nokogiri -v 1.13.10
    bundle update nokogiri --conservative
    
  • 通过Rosetta以x86_64架构编译
    临时绕过arm64架构的兼容问题:

    1. 复制「终端.app」并重命名为「终端(x86)」
    2. 右键新终端,选择「显示简介」,勾选「使用Rosetta打开」
    3. 打开该终端进入项目目录,重新执行依赖安装:
      bundle install
      
  • 确保xmlsec依赖正确安装
    该gem依赖xmlsec1库,先通过Homebrew安装:

    brew install xmlsec1
    

    再指定xmlsec路径重新安装gem:

    gem install nokogiri-xmlsec-instructure -- --with-xmlsec-dir=$(brew --prefix xmlsec1)
    
  • 更新gem到最新兼容版本
    如果该gem有新版本,可能已修复M1架构适配问题,执行更新:

    bundle update nokogiri-xmlsec-instructure
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:30:46