在Rails应用程序构建中跟踪最新的稳定红宝石版本

时间:2018-09-23 14:21:17

标签: ruby-on-rails ruby bundler

在开发Rails应用程序时,可以通过编辑“ .ruby-version”文件来“硬编码”推荐的Ruby版本。 在Gemfile中添加一行。

# .ruby-version
2.5.1

# Gemfile
ruby '2.5.1'

我的问题是。一年过去了,最新的稳定 红宝石版本可能是2.5.9,但我的应用程序仍旧 版。我想知道是否可以指出,嘿 使用给定点上的任何最新稳定版本的ruby 时间。

1 个答案:

答案 0 :(得分:0)

我想您可以使用从https://bundler.io/v1.16/guides/updating_gems.html

中提取的一些捆绑程序规则

简写为Gemfile,您可以写没有数字的gem 'rails',还有一件事情是创建一个cron作业,以每年一次或两次定期在下面的捆绑程序命令中运行一次,以检查是否有任何新的稳定版本

在不修改Gemfile的情况下更新Gem
有时,您想要更新依赖项而不修改Gemfile。例如,您可能想更新到最新版本的机架缓存。 由于您没有在Gemfile中声明机架缓存的特定版本,因此您可能希望定期获取最新版本的机架缓存。 使用bundle update命令:

$捆绑包更新机架缓存

此命令会将机架缓存及其依赖项更新为Gemfile允许的最新版本(在这种情况下,为可用的最新版本)。它不会修改任何其他依赖项。

但是,如果需要,它将更新其他gem的依赖关系。例如,如果最新版本的机架高速缓存指定对机架> = 1.2.2的依赖性,则即使您没有要求捆绑器更新机架,捆绑器也会将机架更新为1.2.2。如果捆绑软件需要更新其他宝石依赖的宝石,则更新完成后,它将通知您。

如果要将Gemfile中的每个gem更新到最新的可能版本,请运行:

$捆绑包更新

这将从头解决依赖关系,而忽略Gemfile.lock。如果这样做,请将git reset --hard和测试套件保持在后兜。从头开始解决所有依赖关系可能会产生令人惊讶的结果,尤其是如果您依赖的许多第三方软件包自上次进行完整更新以来已经发布了新版本。