Composer版本问题

Composer version questions

我有几个关于作曲家的问题:

1) 在客户项目中我应该使用哪个算子更好? ^~ ?

2) 当我指定:

"behat/behat": "~1.3"

这是否意味着它将采用所有版本< 2.0例如 1.3、1.3.4、1.3.7、1.4、 1.5.7 ... 还是只计算第二个数字 (1.3, 1.4, 1.5, 1.6...)?

3) 当我指定:

"behat/behat": "^1.3"

这里的行为如何,关于数字 2)。

有没有其他特殊情况,在指定版本号时需要注意的地方?


p.s 我已经阅读了 composer versions docs

1) Which operator should I better use in customer projects? ^ or ~ ?

首选插入符号 ^ 而不是波浪线 ~ 运算符。

2+3) What does it mean, when I specify: "behat/behat": "~1.3"

~1.3 等同于 >=1.3 <2.0.0.

简而言之:

~ 设置最低版本并允许最后版本数字上升,同时保持 BC 安全.

详细:

  • 它会从1.3系列的最低版本开始获取一个版本作为下边界,可能是1.3.0
  • 它将继续 1.3.*1.4.* 等等(所有版本)
  • 但它将保持在版本上限2.0.0
  • 之下

主要版本的切换(这里从 1.*.*2.*.*)表示向后兼容性可能会中断(请参阅语义版本控制标准)。 包管理器将避免获取重大更改以保持您的软件依赖项集正常工作。

Are there any other special cases, where I need to be careful when specifying the version number?

有一些特殊情况,例如获取 "dev-master" 和具有稳定性开发的开发依赖项和其他“特殊情况”。

但问题太宽泛,无法提供好的答案。再问一次,当你 运行 遇到 "special cases" 的麻烦时。