我目前遇到了在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
答案 0 :(得分:1)
谢谢你的答案,但引用一个新的分支并不是问题(工作得非常好)。问题实际上是改变了项目的名称(composer.json中的name-property)。
根据Christophe Coevoet [1]的说法,作曲家总是从主分支中获取名称,因此我对分支或派生分支的更改不会影响结果。
祝你好运, 的Matthias