我应该将宝石“导轨”钉在上面吗?到一个版本?

发布于 2025-01-03 12:49:07 字数 308 浏览 0 评论 0原文

大多数 Rails 项目的 gemfile 中都包含一个非常具体的版本,位于 rails new foo 之后。

例如 gem 'rails', '3.1.3'

更改此设置以允许点版本不是更好,例如将 Rails 定义为 gem 'rails', '~>3.2 '

Rails 版本编号是如何完成的?我看到点版本之间存在重大变化,例如从 3.0 升级到 3.1 需要相当严格的更改(主要是资产管道)。子版本怎么样? 3.2.1 是 3.2.0 的仅修复错误的版本吗?

Most rails projects have a very specific version included in their gemfile, right after a rails new foo.

For example gem 'rails', '3.1.3'

Would it not be better to change this to allow dot-version and e.g. define rails as gem 'rails', '~>3.2'?

How is rails version-numbering done? I see major changes between dot-releases, e.g. upgrading from 3.0 to 3.1 requires quite severe changes (mostly to the asset pipeline). How is that for subreleases? Is 3.2.1 a bugfixonly release of 3.2.0?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月下凄凉 2025-01-10 12:49:07

确实没有任何理由不使用 ~> 约束,但您应该输入:

gem 'rails', '~>3.1.3'

因为这意味着任何至少是 3.1.3 的 3.1.x。设置 ~>3.1 意味着与任何 Rails 版本 3.x 兼容。

据我所知,Rails 版本控制遵循语义版本控制

但是,我认为指定确切版本的想法是,您阅读每个版本的发行说明,并做出具体的努力来验证它是否可以。不过,最终这一切都取决于你。您应该确保您以某种方式关注 Rails 版本的提要,以便您始终了解安全版本。

There's not really any reason not to use the ~> constraint, but you should put:

gem 'rails', '~>3.1.3'

since that will mean any 3.1.x that is at least 3.1.3. Putting ~>3.1 implies compatibility with any Rails version 3.x.

Rails versioning follows semantic versioning, as far as I know.

However, I think the idea of specifying the exact version is that you read the release notes with every release and make a specific effort to validate that it's okay. Ultimately it's all up to you, though. You should be sure you're somehow following a feed for Rails versions so you always know about security releases either way.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文