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

Windows系统下安装Ruby openxml-docx gem报错求助

解决openxml-docx gem安装时的原生扩展编译失败问题

你已经完成了MSYS安装,但还是卡在了ox依赖的原生扩展编译上——这是openxml-docx的核心依赖,咱们一步步来搞定:

步骤1:确保安装64位编译工具链

你的Ruby是64位版本(Ruby25-x64),必须搭配Mingw64的编译工具,别用默认的MSYS终端:

  • 打开MSYS2安装目录下的mingw64.exe(不是msys2.exe)
  • 在这个终端里执行命令安装必要工具:
    pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make
    

步骤2:让Ruby正确关联MSYS环境

RubyInstaller自带的ridk工具能一键帮你配置环境:

  • 打开Windows命令提示符(CMD)或PowerShell
  • 执行:
    ridk enable
    
  • 之后再尝试安装gem:
    gem install openxml-docx
    

步骤3:手动指定编译路径(如果上述步骤无效)

有时候PATH优先级不对,导致Ruby找不到64位编译器:

  • 在CMD里先设置PATH(假设MSYS2装在C:\msys64):
    set PATH=C:\msys64\mingw64\bin;%PATH%
    
  • 然后强制用原生编译模式安装:
    gem install openxml-docx --platform=ruby
    

备选方案:安装预编译的ox gem

如果编译实在搞不定,直接装预编译好的ox版本:

  • 找到对应Ruby2.5 x64的ox gem包(比如ox-2.9.2-x64-mingw32.gem)
  • 本地安装这个gem:
    gem install ox-2.9.2-x64-mingw32.gem
    
  • 之后再安装openxml-docx就不会再编译ox了

问题根源说明

openxml-docx依赖的ox gem需要编译C原生代码,若你的MSYS工具链是32位的,或者Ruby没正确关联到64位编译工具,就会出现编译失败的错误。用Mingw64工具链才能匹配你的64位Ruby版本。

内容的提问来源于stack exchange,提问作者Andres Pérez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:59:28