2016-04-25 101 views
1

你好,我正在使用composer.json文件加载到我的应用程序包但有一些事情,我想知道。在我composer.json文件,我有这样的:使用Composer.json文件

"require": { 
     "php": ">=5.5.9", 
     "laravel/framework": "5.2.*", 
     "guzzlehttp/guzzle": "~6.x", 
     "barryvdh/laravel-debugbar": "^2.0", 
     "barryvdh/laravel-cors": "0.7.x", 
     "tymon/jwt-auth": "1.0.0-alpha.1", 
     "kodeine/laravel-acl": "[email protected]", 
     "intervention/image": "^2.x", 
     "jenssegers/date": "^3.0" 
    }, 

我想知道这些符号的含义: “^”, “”, “X” 旁边的数字我知道的是版本号。

回答

4

它们表示当您运行composer update时,这些软件包将只更新到选定的版本。举例来说,如果你要告诉作曲家laravel/framework": "5.2.*",,框架将不会被更新为5.3,但最多只能到最新5.2.*

~操作是最好的例子来解释:~1.2相当于 >=1.2 <2.0.0,而~1.2.3是相当于>=1.2.3 <1.3.0

^操作员的行为非常类似,但它更接近语义 版本控制,并且将始终允许非中断更新。例如 ^1.2.3相当于>=1.2.3 <2.0.0因为没有释放,直到 2.0应该打破向后兼容性

您可以指定一个*通配符的模式。 1.0.*>=1.0 <1.1

https://getcomposer.org/doc/articles/versions.md

等效