0

我正在从 6.1.3.2 中的 scrath 创建 rails 应用程序,但现在所有相关模块(activesupport activerecord)现在自动从 6.1.3.2 更新到 6.1.4。与 6.1.4 一起去好吗?如果不是,我怎样才能回到 6.1.3.2?

4

2 回答 2

3

这条线

gem 'rails', '~> 6.1.3'

以您的Gemfile方式,bundler允许更新补丁级别版本,但不能更新到下一个次要版本(阅读有关语义版本控制>= 6.1.3),这与but基本相同< 6.2

这通常称为悲观版本约束,因为它允许捆绑程序安装通常是错误修复的补丁级别版本。但是 bundler 无法更新到下一个可能包含 API 更改并可能破坏您的代码的次要版本。

更新次要版本,尤其是主要版本,您肯定需要稍微更改代码,建议在计划主要更新时进行良好的测试。

如果您真的想将 Rails 固定到特定版本(我不推荐),那么您可以使用

gem 'rails', '6.1.3.2'

在你的Gemfile,

话虽如此:在更新可用时尽快安装实际上是一件好事,因为它们可以修复错误并可能提高性能。运行多个版本有很大的缺点:很难找到愿意使用旧版本的开发人员。获得帮助或查找文档更加困难。并且 gems 可能不适用于旧版本。

我的建议是:始终保持您的依赖项(不仅是 Rails)是最新的。当有一个新版本不适用于您的代码库时,请停止实施新功能并首先使您的代码库适应新版本。

于 2021-06-28T10:28:51.520 回答
1

总是建议使用最新的稳定版本的 rails 和其他 gem。正如你提到6.1.4的是最新版本的自动取款机。所以不要害怕这种变化。无论如何,不​​时更新您的宝石是件好事。

于 2021-06-28T07:04:08.980 回答