如何解决“找不到 gem“rails”的兼容版本?

4 ruby ruby-on-rails spree solidus

我真的把头撞到了墙上,我自己找不到解决这个问题的方法。

我正在用 Solidus(一个 Spree 商务分支)开始一个项目。我在 gem 上玩了一会儿,现在我准备认真并开始开发,我创建了一个新的项目广告,我遇到了这个令人讨厌的错误:

Bundler could not find compatible versions for gem "rails":
  In snapshot (Gemfile.lock):
    rails (= 5.1.2)

  In Gemfile:
    rails (~> 5.1.2)

    solidus was resolved to 1.0.0, which depends on
      solidus_core (= 1.0.0) was resolved to 1.0.0, which depends on
        rails (~> 4.2.0)

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.
Run Code Online (Sandbox Code Playgroud)

并且bundle update没有解决我的问题......我的解决方案快用完了,希望得到一些帮助来解决这个问题。

谢谢

Puh*_*lze 5

Bundler 通过向您展示您对 rails gem 的版本要求不兼容,从而帮了您一个忙。

您已rails (~> 5.1.2)在您的 gemfile 中列出,并且solidus gem 依赖于rails (~> 4.2.0),因此您的应用程序应使用哪个版本的 rails 存在冲突。

您是否有使用solidus 1.0.0 版的原因?目前看来solidus的最新版本是2.0.2。更高版本的solidus 将有一个更新的rails 依赖项,这将允许您的应用程序使用rails 5+。

将您的 gemfile 中的 solidus 版本更新为更新的版本,看看是否允许 bundler 成功安装。