如何更新Jekyll项目的Ruby版本以成功部署到Netlify?
解决Netlify部署Jekyll时Ruby版本不兼容问题
问题分析
部署时触发以下错误,核心原因是Bundler 2.5.10要求Ruby版本≥3.0.0,但Netlify当前使用的Ruby 2.7.2不满足版本要求,导致依赖安装失败:
3:25:44 PM: Starting to install dependencies 3:25:45 PM: Python version set to 3.8 3:25:45 PM: Attempting Ruby version 2.7.2, read from environment 3:25:46 PM: Using Ruby version 2.7.2 3:25:46 PM: Using Bundler version 2.5.10 from Gemfile.lock 3:25:58 PM: ERROR: Error installing bundler: 3:25:58 PM: There are no versions of bundler (= 2.5.10) compatible with your Ruby & RubyGems 3:25:58 PM: bundler requires Ruby version >= 3.0.0. The current ruby version is 2.7.2.137. 3:25:59 PM: Error installing Bundler 3:25:59 PM: Failing build: Failed to install dependencies 3:25:59 PM: Failed during stage 'Install dependencies': dependency_installation script returned non-zero exit code: 1
解决步骤
1. 本地升级Ruby版本
用Ruby版本管理工具(rbenv或rvm)切换到3.0.0及以上的稳定版本(推荐3.1.4,Netlify官方支持该版本):
- 用rbenv操作:
rbenv install 3.1.4 rbenv local 3.1.4 # 为当前项目绑定该版本 - 用rvm操作:
rvm install 3.1.4 rvm use 3.1.4 --default # 设置为全局默认版本
2. 更新项目依赖配置
- 删除项目根目录下的
Gemfile.lock文件 - 打开
Gemfile,添加或修改Ruby版本声明(和本地使用的版本保持一致):ruby "~> 3.1.4" - 重新安装依赖,生成新的
Gemfile.lock:bundle install
3. 配置Netlify使用新Ruby版本
两种方式任选其一:
- 方式一:添加版本配置文件
在项目根目录创建.ruby-version文件,写入目标版本号:
Netlify会自动读取该文件,匹配对应的Ruby版本。3.1.4 - 方式二:后台设置环境变量
进入Netlify项目后台,依次点击Build & deploy>Environment>Environment variables,添加变量:- 变量名:
RUBY_VERSION - 变量值:
3.1.4
- 变量名:
4. 提交更新重新部署
将.ruby-version(若用方式一)、Gemfile、Gemfile.lock的修改提交到GitHub,Netlify会自动触发新的部署,此时依赖安装即可正常完成。
内容的提问来源于stack exchange,提问作者bascott
相关产品推荐
相关产品推荐

