我正在开发一个 Laravel 包(我们称其为 A 包),它需要另一个包(B 包 https://github.com/dropbox/dropbox-sdk-php )。
我已经分叉了 B 包 (https://github.com/EmilioBravo/dropbox-sdk-php),在新建的“fix64”分支中进行了一些更改,并将我的 GitHub 存储库添加到 A 包的 composer.json 中,如 composer 文档所示:
如果我从包A中调用composer update,则它会正确下载我的分支,但是,如果我将包A用作另一个项目(项目C)的依赖项,并从中调用composer update,则composer会显示找不到dev-fix64。
另一种方法是将我的fork克隆到satis仓库中。
但这种方法感觉不太对。我该如何让composer从GitHub中找到我的fork呢?
"repositories": [
{
"type": "vcs",
"url": "https://github.com/EmilioBravo/dropbox-sdk-php"
}
],
"require": {
"php": ">=5.4.0",
"illuminate/support": "4.2.*",
"dropbox/dropbox-sdk": "dev-fix64"
},
如果我从包A中调用composer update,则它会正确下载我的分支,但是,如果我将包A用作另一个项目(项目C)的依赖项,并从中调用composer update,则composer会显示找不到dev-fix64。
只有在将我的仓库添加到项目C的composer.json文件中,它才能找到我fork的分支。Problem 1
- emilio-bravo/platform dev-dropboxfix requires dropbox/dropbox-sdk dev-fix64 -> no matching package found.
emilio-bravo/platform dev-dropboxfix requires dropbox/dropbox-sdk dev-fix64 -> no matching package found.
Installation request for emilio-bravo/platform dev-dropboxfix -> satisfiable by emilio-bravo/platform[dev-dropboxfix].
另一种方法是将我的fork克隆到satis仓库中。
但这种方法感觉不太对。我该如何让composer从GitHub中找到我的fork呢?