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

bundle update失效且安装至旧Ruby版本目录问题求助

解决Bundle Update指向旧Ruby目录导致Nokogiri安装失败的问题

你的问题核心是Bundler仍关联着已卸载的Ruby 2.5.0环境,没有正确适配RVM安装的Ruby 2.7.0。按以下步骤操作即可解决:

1. 确保RVM环境正确激活并设为默认

首先确认当前使用的Ruby版本是否为2.7.0:

rvm current

如果输出不是ruby-2.7.0,执行以下命令切换并设为默认环境,避免每次终端启动都要重新切换:

rvm use ruby-2.7.0 --default

2. 重置Bundler关联的Ruby环境

旧的Bundler可能还绑定着Ruby 2.5.0的路径,先卸载现有Bundler,再用当前Ruby的gem重新安装:

gem uninstall bundler
gem install bundler

执行完成后,再次验证Bundle路径是否正确:

which bundle

输出应为/home/devesh/.rvm/gems/ruby-2.7.0/bin/bundle,和你之前的路径一致即可。

3. 清理旧依赖缓存与配置

旧的Gemfile.lock可能记录了旧Ruby环境的依赖信息,先删除它:

rm Gemfile.lock

接着清理Bundler的缓存,确保安装时不会使用旧文件:

bundle clean --force

4. 手动安装Nokogiri并解决头文件问题

之前安装Nokogiri失败是因为系统缺少必要的依赖库,先安装系统级依赖(以Ubuntu/Debian为例):

sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev

然后用当前Ruby的gem安装指定版本的Nokogiri:

gem install nokogiri -v '1.10.9'

这一步必须确保执行成功,否则后续Bundle操作仍会失败。

5. 重新执行Bundle Update

进入你的Jekyll项目目录,执行:

bundle update

此时Bundler会使用Ruby 2.7.0的环境安装所有依赖,不会再指向旧的Ruby 2.5.0目录。

6. 验证Jekyll服务是否正常启动

依赖安装完成后,执行以下命令启动Jekyll服务:

jekyll serve

如果没有报错,说明问题已经解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 09:37:27