在 PHP composer.json
文件中,require
字段包含许多键/值对。
"require": {
"php": ">=5.3.3",
"symfony/console": "~2.3@dev",
"symfony/finder": "2.2.1",
"symfony/yaml": "2.2.1",
"symfony/process": "2.2.1",
"symfony/validator": "2.2.1",
"n98/junit-xml": "dev-master",
"fzaninotto/faker": "1.1.0",
"composer/composer": "dev-master"
},
每个键/值对的值到底有何用途?
我知道从概念上讲这些只是版本号。例如下面的
"symfony/finder": "2.2.1"
告诉 Composer 需要 symfony/finder
软件包的 2.2.1
版本。
我不清楚的是
允许版本控制的语法(即
~2.3@dev
的含义)为什么有些版本只是文本(
dev-master
)
我的假设是这些在某种程度上与版本控制系统中的分支或标签有关,或者可能与包的 composer.json
文件中定义的显式版本有关,但我无法了解如何,确切地说,这有效。
如果有人知道,或者可以指出我the manual的正确部分如果对此有解释,我将不胜感激。
最佳答案
- ~2.3@dev 的意思是:“使用 ~ 指定最低版本,但允许指定的最后一位数字向上。” dev 表示它是开发版本,“可用选项(按稳定性顺序)是 dev、alpha、beta、RC 和 stable。”
- 这意味着它是一个主分支
所有这些都是我在这里找到的:
关于php - PHP Composer 的键/值对中的值代表什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16846914/