在fork / branch中的composer.json中更改项目名称是不可能的?

时间:2015-12-07 15:11:01

标签: php git symfony composer-php

我目前遇到了在composer.json中重命名项目的问题。

previos状态如下:

{
    "name": "old/name",
    "license": "Business",
    "type": "library",
    "description": "description",
    "autoload": {},
    "minimum-stability":"dev",
    "require": {
        "php": ">=5.3.3"
    },
    "require-dev": {
      "sensio/generator-bundle": "~2.5",
      "phpunit/phpunit": "~4.6",
      "mockery/mockery": "0.9.4",
      "leaphub/phpcs-symfony2-standard": "~2.0.0"
    },
    "scripts": {
    },
    "extra": {
        },
        "branch-alias": {
            "dev-master": "2.6-dev",
        }
    }
}

现在我需要将其更改为

{
    "name": "new/name",
    "license": "Business",
    "type": "library",
    "description": "description",
....
}

因此我创建了一个新的分支,更改了信息,创建了一个分支别名,以便在目标项目中引用它。

...
    "repositories": [
        {
            "type": "vcs",
            "url": "git@github.com:matthias-chlechowitz/forked-repo.git"
        }
    ],
    "require": {
        "new/name":"dev-matthias/rewrite-branchname"
        }
...

但是当运行composer update以获取更新版本时,将获取具有先前项目名称的旧版本,并显示以下错误消息:

  Problem 1
    - The requested package new/name could not be found in any version, there may be a typo in the package name.

所以不可能在一个回购甚至分支中重命名项目?或者我错过了一个主要部分?

最好的问候, 的Matthias

1 个答案:

答案 0 :(得分:1)

谢谢你的答案,但引用一个新的分支并不是问题(工作得非常好)。问题实际上是改变了项目的名称(composer.json中的name-property)。

根据Christophe Coevoet [1]的说法,作曲家总是从主分支中获取名称,因此我对分支或派生分支的更改不会影响结果。

祝你好运, 的Matthias

[1] https://github.com/composer/composer/issues/4677