在我的composer.json文件中代字号(〜)是什么意思?
我在我的composer.json文件中有这一行:
"require": { ... "friendsofsymfony/user-bundle": "~2.0@dev", ... },
~2.0@dev
中的波浪符究竟是什么意思? 这是一个占位符,应该总是获取像1.2.0
颠覆? 没有意义(并且将由*
通配符完成)。
composer.json文档不会告诉任何有关代字号的信息。
我在问,因为我刚刚在Symfony博客上阅读了一个安全问题 ,他们build议升级到1.3.3版本。 但是搞清楚FOSUserBundle的版本并不那么容易(我找不到包含版本的文件)。
Tilde意味着下一个重要版本 。 在你的情况下,它相当于>= 2.0, < 3.0
。
完整的解释是在https://getcomposer.org/doc/articles/versions.md#tilde-version-range-
另一种看待它的方法是使用
~
指定最小版本,但允许指定的最后一个数字上升。
塞尔德克的下面的评论是一个简单的总结了composer php文件的解释。
Tilde
运算符对于使用semantic versioning
scheme对其库进行semantic versioning
的项目非常有用。
Semantic versioning
更多的是评估next significant release
的指导原则。
对于Composer来说,这个操作符意味着在安装和更新的时候允许次要的版本(可以包括补丁),而不允许一个主版本(这个版本可能不会向后兼容)。
例如: ~4.1
将允许项目版本>=4.1
但<5.0
。
Credits: http : //dwellupper.io/post/37/using-tilde-range-operator-to-resolve-dependency-version-in-composer-php