根据composer.json模式的extra
属性的文档,允许设置"脚本消耗的任意额外数据"
出于编写脚本的目的,如果可以通过命令行将数据添加到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-附加值不幸的是,不可能添加布尔值或数值,因为每个值都是作为字符串添加的。另请参阅Composer项目的第5492期。
从Composer 1.1.0开始,可以使用CLI:将字符串值添加到extra
属性
composer config extra.foo "some text"
composer config extra.bar 123
composer config extra.baz true
结果如下:
"extra": {
"foo": "some text",
"bar": "123",
"baz": "true"
}
从Composer 2.0开始,可以使用--json
和--merge
标志在任何JSON值类型中添加值。这包括添加数字和布尔值的可能性:
composer config --json extra.foo '"some text"'
composer config --json extra.bar 123
composer config --json extra.baz true
结果如下:
"extra": {
"foo": "some text",
"bar": 123,
"baz": true
}
此功能的文档显示了如何从CLI添加JSON对象。
没有办法,原因是这通常与一些不适用于普通受众的非常特定的本地用例绑定。
此处列出了composer config
可能影响的所有参数:https://getcomposer.org/doc/06-config.md
如果你想将数据添加到"额外"部分,你必须手动编辑它,或者让脚本以其他方式进行编辑。