如何让Ruby使用默认Bundler 2.3.25或彻底移除2.4.5版本?
强制指定Bundler版本生成Gemfile.lock并彻底清理旧版本
一、临时生成对应版本的Gemfile.lock
如果只是想快速生成2.3.25版本的锁文件,直接在命令中指定Bundler版本执行:
bundle _2.3.25_ install
该命令会强制调用2.3.25版本的Bundler完成依赖安装,生成对应版本的Gemfile.lock。
二、彻底清理Bundler 2.4.5残留并设置默认版本
1. 刷新gem索引并清理冗余
手动删除文件后gem索引可能未更新,执行以下命令同步:
gem update --system gem cleanup bundler
2. 删除所有关联的2.4.5残留文件
除了你已删除的gems目录文件,还需清理缓存和索引记录:
# 删除specs缓存中的2.4.5条目 rm -rf ~/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/specs/*bundler-2.4.5* # 删除gem安装缓存文件 rm -rf ~/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/cache/bundler-2.4.5.gem
3. 重置默认Bundler版本
重新安装2.3.25并设置为全局默认:
gem install bundler -v 2.3.25 bundle config set --global default.bundler.version 2.3.25
4. 验证版本切换结果
执行命令确认版本是否生效:
bundle --version gem list bundler
若仍显示2.4.5,检查是否有配置覆盖:
# 查看全局配置 bundle config list # 进入项目目录查看本地配置 bundle config list --local
存在旧版本配置则删除后重新设置:
bundle config unset default.bundler.version bundle config set --global default.bundler.version 2.3.25
三、修复Rails启动报错
若rails s仍报找不到2.4.5的错误,检查项目根目录下的.bundle/config文件,将其中BUNDLED WITH对应的版本改为2.3.25;或直接删除.bundle目录后,重新执行bundle _2.3.25_ install。
内容的提问来源于stack exchange,提问作者ToddT
相关产品推荐
相关产品推荐

