为了账号安全,请及时绑定邮箱和手机立即绑定

当“密钥存储库在 ./composer.json 中重复”时,composer 使用哪一个?

当“密钥存储库在 ./composer.json 中重复”时,composer 使用哪一个?

PHP
慕斯王 2022-10-22 15:56:45
我注意到我的 composer.json 中有重复的“存储库”键,用于我正在开发的一个包。该软件包正在运行。因此,我想执行“重构”,因为我想在不改变行为的情况下修复代码。如果我想修复错误,我将不得不删除未使用的重复密钥。所以,问题是:当“密钥存储库在 ./composer.json 中重复”时,composer 使用哪一个?换句话说,是否composer使用它找到的第一个键并忽略未来的键?它是否忽略以前的键并使用它找到的最后一个键?或者它是否以某种巧妙的方式合并了键的子项?这是我正在运行的命令:$ composer validateKey repositories is a duplicate in ./composer.json at line 16...composer.json 看起来像这样:{  "name": "foo/bar",  "description": "foo bar",  "license": "Apache-2.0",  "type": "library",  "repositories": [    {"type": "composer", "url": "foo"},    {"packagist.org": false}  ],  "repositories": [    {      "type": "vcs",      "url": "bar"    }  ],  ... }
查看完整描述

1 回答

?
弑天下

TA贡献1818条经验 获得超7个赞

Composer 使用seld/jsonlint检测重复键,但它用于 json_decode解码 JSON。

json_decode使用它找到的最后一个键值:

>>> $json = '{"a":1,"a":10,"a":100}';

=> "{"a":1,"a":10,"a":100}"

>>> $decoded = json_decode($json)

=> {#3260

     +"a": 100,

   }

>>> $decoded->a

=> 100


查看完整回答
反对 回复 2022-10-22
  • 1 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信