【发布时间】:2021-04-11 05:00:04
【问题描述】:
假设我们有一颗宝石。 (例如:gem 'bcrypt', '~> 3.1.7')
我想把它更新到最新版本。但我不知道这两个版本有什么区别。其实,我想知道,这两个版本有什么区别?这两个版本的语法有什么区别?
那么,如何比较 gems 版本?
【问题讨论】:
标签: ruby-on-rails ruby rubygems
假设我们有一颗宝石。 (例如:gem 'bcrypt', '~> 3.1.7')
我想把它更新到最新版本。但我不知道这两个版本有什么区别。其实,我想知道,这两个版本有什么区别?这两个版本的语法有什么区别?
那么,如何比较 gems 版本?
【问题讨论】:
标签: ruby-on-rails ruby rubygems
这两个版本的语法有什么区别?
这部分答案很简单:Ruby 不允许程序员更改语法,因此 gem 永远不可能更改语法。
【讨论】:
update_attributes?实际上它已被删除。
当 gem 的源代码在公共代码存储库(如 GitHub 或 Gitlab)中管理时,您通常会在这些存储库上找到 CHNAGELOG。这样的变更日志由维护人员手动编写,可能不完整,但它可以让您很好地了解发生了什么变化以及维护人员认为需要了解的重要内容。
比较两个版本的另一种方法是比较两个版本的代码。因为bcrypt 的代码是公开的,并且维护者在 GitHub 上为每个版本添加了标签,所以这很容易。转到页面listing all releases 并通过选择两个版本将一个版本与另一个版本进行比较。例如3.1.13 (the lastest) to 3.1.7 (the minimum version from your Gemfile)。以下页面允许您查看这两个版本之间的所有提交和所有更改的文件。
【讨论】:
大多数项目都会发布变更日志或发布列表。它们通常可以在 repo 或他们的网站上找到。他们经常链接每个版本中包含的特定 PR,并指定更改是否“破坏”(尽管版本本身应该传达主要、次要或补丁更新)。要将您当前的版本与最新版本进行比较,您可以从您当前使用的版本开始,并查看此后发布的所有版本。
这是 bcrypt 的发布日志,例如: https://github.com/bcrypt-ruby/bcrypt-ruby/releases
【讨论】:
首先检查您是否真的要更新 gem?这意味着如果您正在运行的代码由于您的旧版本的 gem 而中断,那么必须有新的更改可以解决您的问题。 (这是区别;))
第二——这两个版本有什么区别或者如何比较?
1. rubygem.org
如果您查看 rubygem.org 网站并获取任何 gem,那么在右下角应该有一个“查看更改”链接,显示在版本更改期间所做的更改。
2。宝石回购
您还可以检查 gem 存储库中的“CHANGELOG”或“README.md”文件,其中包含有关版本更改或比较的信息(如果作者正在更新它)。
3.红宝石
有一个 gem 'gem-compare' 显示版本更改的信息。
【讨论】: