我正在从6.1.3.2中的scrath创建rails应用程序,但现在所有相关模块(activesupport-activerecord(都自动从6.1.3.2更新到6.1.4。采用6.1.4好吗?,如果否,我如何回到6.1.3.2?
此行
gem 'rails', '~> 6.1.3'
在您的Gemfile
中,意味着bundler
可以更新补丁级别的版本,但不能更新到下一个次要版本(阅读有关语义版本控制的内容(,这与>= 6.1.3
基本相同,但与< 6.2
不同。
这通常被称为悲观版本约束,因为它允许bundler安装补丁级别的版本,这些版本通常是错误修复。但bundler无法更新到下一个次要版本,这可能包括对API的更改,并可能破坏您的代码。
更新次要版本,尤其是主要版本,您肯定需要稍微更改代码,建议在计划主要更新时进行良好的测试。
如果你真的想把Rails固定到一个特定的版本(我不推荐(,那么你可以使用
gem 'rails', '6.1.3.2'
在您的Gemfile
,中
话虽如此:事实上,在更新可用时立即安装更新是一件好事,因为它们可以修复错误,并可能提高性能。在后面运行几个版本有很大的缺点:很难找到愿意使用旧版本的开发人员。很难获得帮助或找到文档。宝石可能不适用于旧版本。
我的建议是:始终保持您的依赖关系(不仅仅是Rails(是最新的。当有一个新版本不适用于您的代码库时,请停止实现新功能,并首先将代码库调整为新版本。
总是建议使用rails和其他gem的最新稳定版本。正如您所提到的,6.1.4
是最新版本的atm。所以不要害怕这种变化。无论如何,不时更新你的宝石是件好事。