【问题标题】:Twiddle wakka for semantic versioning用于语义版本控制的 Twiddle wakka
【发布时间】:2017-06-01 02:17:29
【问题描述】:

来自thoughtbot

~> 1.1 意味着当您捆绑安装时,您将获得介于 >= 1.1 和 之间的最高版本的 Thin

~> 3.0.3 意味着当您捆绑安装时,您将获得介于 >= 3.0.3 和 范围内的最高发布版本的 rails

来自semver 2.0

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.

那么~>0.1.0会带你离开1.0.0 > x >= 0.1.0吗?

另外,当人们说他们正在努力“推出one point oh 版本”时,他们指的是v1.0.0 吗?即使 1 后面有两个 0。

【问题讨论】:

    标签: ruby semantic-versioning


    【解决方案1】:

    基本上使用 twiddle-waka (~>),只有最后一个数字可以改变。

    ~> 0.1.0 不会带你去0.1.x 之外的任何地方,因此不会带你去1.0.0,甚至0.2.0

    在我看来,要指定一个遵循 semver 意图的版本,可以指定一个小的 twiddle-waka,例如。 ~> 0.2。因此,您可以获得功能升级(到 0.3(.x)0.4(.x)0.x.y,甚至是 0.10.99!),但不会进行反向更改(到 1.01.0.x)。

    如果您希望能够更改MAJOR,那么从1.02.09.0 在同一规范上,那么我猜您并没有真正的版本规范! ;o)

    话虽如此,一些对您的项目更基础/更核心的 gem 可能会受益于更密切的关注,补丁级别 ~>,例如。 ~> 4.2.17。 (例如,这是我在 Rails 项目中使用 Rails 的一种策略。)基本上,任何可以使升级/升级变得不简单的事情。

    (是的,提到“一点哦”包括1.0.01.0.1 等等)

    【讨论】:

    • 所以~>0.1 可能会将您带到0.9.99~>1.0 可能会将您带到9.99.99
    • ~> 0.1 匹配 0.9.99,是的。 ~> 1.0 匹配 1.9.99,但不匹配 2.0,因此不匹配 9.9.x。如果MAJOR 可以更改,那么我猜你没有版本规范;o)
    猜你喜欢
    • 2018-08-08
    • 1970-01-01
    • 2014-01-14
    • 2015-03-10
    • 2020-03-27
    • 2015-10-28
    • 2018-02-03
    • 2013-04-08
    • 2016-04-14
    相关资源
    最近更新 更多