当“关键存储库是./composer.json中的副本时,作曲家使用的是哪个?

问题描述 投票:0回答:1

[我注意到在我正在开发的程序包的composer.json中,我有重复的'repositories'键。

包装正在工作。因此,我想执行“重构”,即我想在不更改行为的情况下修复代码。

如果我想纠正该错误,则必须删除未被使用的重复密钥。

所以,问题是:

[当“关键存储库是./composer.json中的副本”时,作曲家使用的是哪个?

换句话说,

  • composer是否使用找到的第一个键,而忽略以后的键?
  • 它是否忽略前一个键并使用找到的最后一个键?或
  • 它是否以某种巧妙的方式合并了密钥的子项?

这是我正在运行的命令:

$ composer validate
Key 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"
    }
  ],

  ...
 }
php json composer-php operator-precedence
1个回答
0
投票

Composer使用seld/jsonlintdetect重复密钥,但使用uses json_decode解码JSON。

© www.soinside.com 2019 - 2024. All rights reserved.