1

我们想为 Rails 6 准备我们的应用程序。

gem 'rails', git: 'https://github.com/rails/rails.git', tag: 'v6.0.0.beta2'

我跑了bundle install

Bundler could not find compatible versions for gem "actionpack":
  In Gemfile:
    rails was resolved to 6.0.0.beta2, which depends on
      actionpack (= 6.0.0.beta2)

    rails-controller-testing was resolved to 1.0.4, which depends on
      actionpack (>= 5.0.1.x)

    rspec-rails was resolved to 3.8.2, which depends on
      actionpack (>= 3.0)

    sprockets-rails (~> 3.2.1) was resolved to 3.2.1, which depends on
      actionpack (>= 4.0)

不知道该怎么做(我应该注释掉所有列出为有问题的宝石吗?在我看来,所有依赖项都在使用>=运算符 - 这是否意味着 actionpack (= 6.0.0.beta2) 应该没问题我也可以得到一些指导吗?

4

3 回答 3

0

我在这方面投入了更多时间,并学会了如何解决这些问题。我很确定我没有发布关于依赖关系的输出中最重要的部分。

通常有一些 gem 被锁定到某些 gem 版本。您想通过输出手动找到它们。小心这样的输出:

 gem_xyz was resolved to 3.8.2, which depends on
      actionpack (< 3.0)

然后您可以检查是否有针对特定 Github 分支的修复,例如 Rails 6 版本,并直接从该分支使用 gem。不是很容易,但你可以慢慢前进,提前准备好成为 Rails6 的项目......

于 2019-03-05T11:36:51.790 回答
0

我在尝试测试 6.0.0.rc2 时遇到了同样的问题。我通过minitest-rails-capybara从中删除 gemGemfile并根据 https://edgeguides.rubyonrails.org/testing.html改进系统测试来解决

于 2019-05-22T09:35:54.927 回答
0

问题不在于 actionpack,而是您尝试安装的其他 gem,这些版本不能与 actionpack 一起压缩(= 6.0.0.beta2)

rails-controller-testing was resolved to 1.0.4

rspec-rails was resolved to 3.8.2

sprockets-rails (~> 3.2.1) was resolved to 3.2.1

您需要找到与您的 actionpack 版本兼容的版本。actionpack 的版本由您使用的 rails 版本决定。我有类似的经历

  rspec-rails (~>3.4.2) and,
  factory_girl_rails (~>1.0.4)

升级两者可以解决问题。

于 2020-08-30T19:17:12.897 回答