在Gemfile中指定Rails版本或分支是更好的做法吗?

Val*_*ine 1 rubygems ruby-on-rails gemfile

我目前正在使用

gem 'rails', '~> 5.0.0'
Run Code Online (Sandbox Code Playgroud)

在我的Gemfile中。

我刚刚了解了指定Rails分支的另一种方法,即:

gem 'rails', github: "rails/rails", branch: '5-0-stable'
Run Code Online (Sandbox Code Playgroud)

是否有最佳实践将Rails包含在Gemfile中?您为什么要使用一种方法来替代另一种方法?

max*_*max 5

gem 'rails', '~> 5.0.0'
Run Code Online (Sandbox Code Playgroud)

使用所谓的悲观版本控制。所谓的弯曲箭头表示它将使用任何新的次要版本,5.0.X这意味着您仍会得到错误修复,但是可以肯定的是,库不会突然对您造成更改。

~> 5.0.0等同于>= 5.0.0 <5.1

直接将gem链接到github存储库只是一个好主意,如果您想处于最新状态,或者如果最新版本中存在主要问题或不兼容,但已在主版本中解决了。

通常,您想使用gem A,但是最新版本的gem B与A不兼容,这通常在发布主要版本后立即发生。

将所有宝石直接链接到其主分支将非常明智。