77

我想知道“~>”是做什么用的,因为我发现它们在下面是一样的:

pod 'AFNetworking','~> 2.0.3'

pod 'AFNetworking','2.0.3'
4

4 回答 4

110

~>乐观运算符)用于指定版本 'up to next major | 未成年人| 补丁'。例如:

~> 0.1.2将为您提供最高 0.2的版本(但不包括 0.2 及更高版本)

~> 0.1将为您提供最高 1.0的版本(但不包括 1.0 及更高版本)

~> 0将为您提供0 及更高版本(与省略相同)

哪里0.1.2意味着“我想要这个确切的版本”

这是有关此的更多信息

于 2013-11-26T10:07:31.573 回答
10
  • ~> 6.0将在下一个版本之前为您提供最新版本,7.0但不包括该7.0版本。

  • ~> 6.0.0将在下一个版本之前为您提供最新版本,6.1.0但不包括该6.1.0版本。

于 2019-01-02T10:46:59.937 回答
3

虽然上述大多数答案都是正确的,但他们使用示例来回答问题,而不是实际解释正在发生的事情,因此很难理解这个概念。为了理解乐观运算符是如何工作的,关键是 cocoapods 会查看版本号的具体程度,以确定它将如何解释乐观运算符。

版本号的语法传达信息。开发人员发布的更新类型。该语法从左到右指的是 Major.Minor.Patch 更新。

Cocoapods 查看版本号中最具体的元素是什么,以确定它将如何解释乐观运算符。因此,如果版本号包含有关补丁更新的信息 - 即它看起来像这样:~> 1.1.2- 那么补丁更新是 cocoapods 在实现乐观操作符时关注的内容。同样,如果版本号仅与次要更新一样具体 - 即它看起来像这样:~> 1.2- 那么 cocoapods 在实现乐观操作符时将只关注次要更新或补丁更新。

版本号~> 1.0.1告诉 cocoapods 安装最新的版本更新,只要该更新是 PATCH 更新;应忽略主要或次要更新。

版本号~> 1.1告诉 Cocoapods 安装可用的最新更新,只要这些更新是 PATCH 或 MINOR 更新,它应该忽略任何主要更新。

于 2019-11-12T15:54:20.407 回答
2

乐观运算符 ~>:

'~> 0.1.2' Version 0.1.2 and the versions up to 0.2, not including 0.2 and higher
'~> 0.1' Version 0.1 and the versions up to 1.0, not including 1.0 and higher
'~> 0' Version 0 and higher, this is basically the same as not having it.
For more information, regarding versioning policy, [see][1]:
于 2013-11-26T10:06:39.177 回答