您好我正在使用 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": "~1.0@dev",
"intervention/image": "^2.x",
"jenssegers/date": "^3.0"
},
我想知道这些符号的含义:" ^ "," 〜",&#34 ; X "我知道的数字旁边是版本号。
答案 0 :(得分:5)
它们意味着当您运行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