[英]Bundler install - could not find compatible versions for gem "actionpack" - Rails 5
[英]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.