在 Gemfile 中指定 Rails 版本或分支是否更好?



>我目前正在使用

gem 'rails', '~> 5.0.0'

在我的宝石文件中。

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

gem 'rails', github: "rails/rails", branch: '5-0-stable'

是否有将 Rails 包含在 Gemfile 中的最佳实践?你为什么要使用一种方式而不是另一种方式?

gem 'rails', '~> 5.0.0'

使用所谓的悲观版本控制。所谓的波浪箭头意味着它将使用任何新的次要版本5.0.X这意味着您仍然可以获得错误修复,但可以非常确定库不会突然更改您。

~> 5.0.0相当于>= 5.0.0 <5.1

gem 直接链接到 github 存储库只是个好主意,前提是您想处于最前沿,或者最新版本中存在重大问题或不兼容,但在主分支或其他分支/标记中已修复。另一种常见情况是您需要分叉宝石。

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

将所有宝石直接链接到其主分支将非常考验您的理智。Bundler 实际上无法解析那里的版本,因此对进行依赖项解析没有任何帮助。

据我所知,没有最佳实践。

轨道的稳定分支不断变化,它只是试图没有错误。如果您知道希望您的应用程序面向下一版本的 Rails,那么使用这样的分支可能是个好主意。

现在我想起来,rubygems.org 的 gem 版本可能是"最佳实践"。你可以保证 Rails 代码库不会在你身下改变。

尝试 github 方法几周没有坏处,如果只是为了学习艰难的方式!

祝你好运

最新更新