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

修改bundler版本后执行bundle install出现大量gem版本冲突如何解决

修复步骤

你遇到的问题核心有两个:一是mimemagic 0.3.0因许可证问题已从RubyGems官方源下架,被paperclip 4.3.x版本强制依赖导致无法找到;二是多个未锁版本的gem拉取了过高版本,和Rails 4.2.11.1的依赖约束冲突,按照以下步骤修复即可:

  1. 首先确认你本地使用的bundler版本为1.17.3,Rails 4.2不兼容2.x版本的bundler,如果版本不符先执行:
    gem install bundler:1.17.3
  2. 修改你的Gemfile,调整以下条目:
    • 删除Gemfile最后一行的gem 'bundler', '1.17.3',bundler版本不需要声明在项目依赖中
    • 处理mimemagic缺失问题,二选一即可:
      • 方案A(推荐):升级paperclip到兼容版本,将原有paperclip声明改为gem 'paperclip', '~> 5.2.0',该版本放宽了mimemagic的版本约束,可直接使用官方源中可用的mimemagic版本
      • 方案B(不升级paperclip):新增一行声明gem 'mimemagic', github: 'mimemagicrb/mimemagic', tag: 'v0.3.0',直接从GitHub拉取已下架的0.3.0版本
    • 锁recaptcha版本适配sdoc的json 1.x依赖,将原有recaptcha声明改为gem "recaptcha", '~> 4.14.0', require: "recaptcha/rails"
    • 新增一行主动锁i18n版本适配Rails 4.2的约束:gem 'i18n', '~> 0.7.0'
    • 锁activeadmin版本避免拉取不兼容的高版本,将原有activeadmin声明改为gem 'activeadmin', '~> 1.4.3'
    • 锁omniauth-google-oauth2版本适配Rails 4.2的rack约束,将原有声明改为gem 'omniauth-google-oauth2', '~> 0.8.0'
  3. 删除旧的依赖锁定文件:
    rm Gemfile.lock
  4. 使用指定版本的bundler执行依赖安装:
    bundle _1.17.3_ install

如果仍有少量剩余冲突,只需要给对应未锁版本的gem添加适配Rails 4.2的版本约束即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:45:06