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

Windows环境下Ruby ffi Gem安装失败问题求助

解决ffi 1.9.25在Bundler更新时的原生扩展构建失败问题

以下是针对性的环境配置解决方案:

  • 确保Bundler获取到正确的环境变量
    单独执行gem install ffi --platform=ruby成功,说明libffi的环境变量在当前终端生效,但Bundler可能未继承这些变量。

    1. 在ucrt64终端中,先检查PKG_CONFIG_PATH是否包含libffi的pkgconfig路径:
      echo $PKG_CONFIG_PATH
      
    2. 如果输出未包含/ucrt64/lib/pkgconfig,手动添加后再执行Bundler命令:
      export PKG_CONFIG_PATH=/ucrt64/lib/pkgconfig:$PKG_CONFIG_PATH
      bundle update --bundler
      

    若使用Windows cmd/PowerShell,先设置环境变量再运行:

    set PKG_CONFIG_PATH=C:\msys64\ucrt64\lib\pkgconfig
    bundle update --bundler
    
  • 强制Bundler使用ffi的构建参数
    直接给Bundler指定ffi的编译依赖路径,与单独安装gem时的环境一致:

    bundle config build.ffi --with-ffi-dir=C:/msys64/ucrt64 --with-ffi-lib=C:/msys64/ucrt64/lib --with-ffi-include=C:/msys64/ucrt64/include
    

    配置完成后,再次执行bundle update --bundler。

  • 确认Ruby DevKit与msys2 ucrt64的关联

    1. 运行Ruby自带的ridk enable命令,在弹出的选项中选择对应ucrt64环境,确保Ruby与msys2工具链绑定。
    2. 或者直接打开ucrt64终端,在终端内启动Ruby环境(例如执行C:\Ruby32-x64\bin\ruby.exe -v确认可用),再运行Bundler更新命令。
  • 尝试指定Bundler版本
    部分新版本Bundler可能存在环境检测问题,可先安装稳定版本的Bundler再尝试更新:

    gem install bundler -v 2.4.22
    bundle _2.4.22_ update --bundler
    

内容的提问来源于stack exchange,提问作者Foad S. Farimani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:27:50