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

Ruby on Rails中Spree Gem依赖冲突致Bundle Install失败问题

解决Bundler中cocaine版本冲突问题

这是典型的Ruby gem依赖版本冲突——ckeditor和Spree的spree_core对cocaine的版本要求不匹配,导致Bundler找不到能同时满足两者的版本。下面是具体的解决步骤:

步骤1:明确冲突的依赖范围

先运行这两个命令,搞清楚两个gem对cocaine的具体版本要求:

bundle info ckeditor | grep cocaine
bundle info spree_core | grep -A 2 paperclip

(第二个命令先找到spree_core依赖的paperclip版本,再运行bundle info paperclip | grep cocaine,就能看到paperclip对cocaine的版本要求)

步骤2:手动指定兼容的cocaine版本

找到一个同时满足ckeditor和paperclip版本要求的cocaine版本,然后在你的Gemfile里手动声明:

gem 'cocaine', 'x.x.x' # 替换成你找到的兼容版本,比如0.6.0

之后重新运行:

bundle install

步骤3:尝试更新冲突的gem

如果找不到同时兼容的cocaine版本,可尝试更新ckeditor到更高版本(只要符合你的项目需求),比如:

gem 'ckeditor', '~> 4.3' # 这个版本通常兼容cocaine 0.6.0及以上

或者如果允许的话,把Spree更新到3.4.x系列的最新小版本,这类版本往往会修复旧的依赖冲突问题。

步骤4:强制更新依赖组合

如果前面的方法都不管用,试试让Bundler重新计算这几个gem的依赖组合:

bundle update ckeditor spree cocaine

这个命令会更新这三个gem的版本,尝试找到一套兼容的组合。

小提醒:操作前可以先备份一下Gemfile.lock,避免出现意外情况后无法回退。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:34:22