繁体   English   中英

安装 Rails 6 - Bundler 找不到 gem actionpack 的兼容版本

[英]Install Rails 6 - Bundler could not find compatible versions for gem actionpack

我们想要为 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)

不知道具体如何进行(我是否应该注释掉所有被列为有问题的 gem?在我看来,所有依赖项都在使用>=运算符 - 这是否意味着 actionpack (= 6.0.0.beta2) 应该也可以吗?我可以得到一些指导吗?

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

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

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

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

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

问题不在于 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 的版本由您使用的 rails 版本决定。 我有类似的经历

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

升级两者都可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM