是什么使这个Rails项目保持旧的Rails版本(或者我怎么找出保持它的旧版本的Rails)?

时间:2019-04-02 19:33:55

标签: ruby-on-rails ruby gemfile

是什么使该Rails项目保持旧的Rails版本(或者我如何找出将其保持旧版本的Rails)?

我在看

https://github.com/mhartl/action_cable_chat_app

我克隆了它,或者分叉并克隆了它。

被授予,他将其保存在自己的Gemfile中

gem 'rails',                   '5.0.1'

但是我将其更改为

gem 'rails'

我做了bundle installbundle updatebundle update rails

,它从很旧的版本(5.0.1)升级到了rails 5.0.7.2,仍然很旧。

如果我cd ..,那么我会看到我的全局rails版本,那是最新版本。 rails 5.2.3

我可以猜想,他的Gemfile中可能有一些需要早期Rails版本的宝石,这就是阻碍它发展的原因。但是我无法验证,如果不知道是哪个。

我尝试查看Gemfile.lock,它显示rails (5.0.7.2),所以我尝试了rm Gemfile.lock,然后捆绑了更新导轨,仍然是rails 5.0.7.2

1 个答案:

答案 0 :(得分:1)

在第78行查看项目的Gemfile.lock

jbuilder (2.4.1)
  activesupport (>= 3.0.0, < 5.1)
  multi_json (~> 1.2)

jbuilder宝石的2.4.1版本取决于activesupport(属于Rails的一部分)版本< 5.1。您将需要至少更新到jbuilder:2.6.3,才能将Rails更新到5.1jbuilder:2.6.4最终放松了对activesupport >= 3.0.0的依赖,这甚至允许当前的Rails 6.0beta版本。

由barlop添加

answerer在评论中提及,请参见https://rubygems.org/gems/rails了解宝石的依赖性

(并且包括版本,因此,哪个版本的rails取决于哪个版本的从属gem)