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

Fedora 40下使用Vagrant遇Nokogiri相关错误求助

解决Fedora 40下Vagrant与Nokogiri依赖问题

核心原因

Fedora 40的系统Ruby环境与RVM安装的Ruby(3.2.2)存在路径冲突,导致gem原生扩展未正确编译,尤其是Nokogiri这类依赖系统库的gem;同时系统自带gem包与RVM管理的gem包路径混淆,加剧了加载错误。

解决步骤

  • 1. 切换到RVM管理的Ruby环境
    确保使用RVM的Ruby,避免系统Ruby干扰:

    rvm use 3.2.2 --default
    rvm gemset use global
    
  • 2. 安装Nokogiri编译依赖
    Fedora下需先安装编译所需的系统原生库:

    sudo dnf install -y gcc ruby-devel zlib-devel libxml2-devel libxslt-devel
    
  • 3. 批量修复未编译的gem扩展
    直接修复所有提示未构建扩展的gem,而非单独安装Nokogiri:

    gem pristine bcrypt_pbkdf-1.1.0 bigdecimal-3.1.5 debug-1.9.1 ed25519-1.3.0 ffi-1.15.5 io-console-0.7.1 json-2.7.1 nokogiri-1.16.5 psych-5.1.2 racc-1.7.3 ruby-libvirt-0.7.1
    
  • 4. 重新安装Vagrant(若通过gem安装)
    若Vagrant是通过gem安装的,彻底重装避免残留问题:

    gem uninstall vagrant
    gem install vagrant
    
  • 5. 验证修复效果
    执行Vagrant命令测试是否恢复正常:

    vagrant --version
    

额外建议

  • 日常开发尽量保持单一Ruby环境,避免混用系统Ruby与RVM Ruby
  • 若问题仍存在,可创建独立RVM gemset隔离Vagrant环境:
    rvm gemset create vagrant_env
    rvm use 3.2.2@vagrant_env
    gem install vagrant
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 02:27:41