根据composer.json schema的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-extra-values 不幸的是,无法添加布尔值或数值,因为每个值都是作为字符串添加的。另请参阅issue #5492 of the Composer project。
答案 0 :(得分:1)
没有办法,原因是这通常与一些非常具体的本地用例绑定,不适用于一般受众。
此处列出了composer config
可能影响的所有参数:https://getcomposer.org/doc/06-config.md
如果要将数据添加到“额外”部分,则必须手动编辑或让脚本以其他方式执行此操作。
答案 1 :(得分:1)
从Composer 1.1.0开始,可以使用CLI将 string 值添加到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
}
documentation of this feature显示了如何从CLI添加JSON对象。