使用 Composer CLI 将数据添加到额外属性

Aad*_*sen 5 php command-line-interface composer-php

根据composer.json schemaextra属性的文档,允许设置“供脚本使用的任意额外数据”。

extra出于脚本编写的目的,如果可以通过命令行将数据添加到属性中,那就太好了。它已经尝试过composer config extra.foo bar,但这给出了错误Setting extra.foo does not exist or is not supported by this command

所以我想知道:有没有办法使用 Composer CLI 向属性添加数据extra

更新:Composer 1.1.0 添加了对此功能的支持: https: //getcomposer.org/doc/03-cli.md#modifying-extra-values 不幸的是,无法添加布尔值或数值,因为每个值作为字符串添加。另请参阅Composer 项目的第 #5492 期

Aad*_*sen 5

从 Composer 1.1.0 开始,可以使用 CLI将字符串值添加到属性中:extra

composer config extra.foo "some text"
composer config extra.bar 123
composer config extra.baz true
Run Code Online (Sandbox Code Playgroud)

结果如下:

"extra": {
    "foo": "some text",
    "bar": "123",
    "baz": "true"
}
Run Code Online (Sandbox Code Playgroud)

从 Composer 2.0 开始,可以使用和标志添加任何 JSON 值类型的值。这包括添加数字和布尔值的可能性:--json--merge

composer config --json extra.foo '"some text"'
composer config --json extra.bar 123
composer config --json extra.baz true
Run Code Online (Sandbox Code Playgroud)

结果如下:

"extra": {
    "foo": "some text",
    "bar": 123,
    "baz": true
}
Run Code Online (Sandbox Code Playgroud)

此功能的文档显示了如何从 CLI 添加 JSON 对象。