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