在子存储库上安装私有存储库



我有两个私有仓库,我们称它们为RepoARepoBRepoARepoB需要的,它们都是 GitHub 上的私有存储库,端口620

以下是两个存储库中的composer.json

回购 A

{
"name": "namespace/repoA",
"description": "My repository A.",
"require": {
"php": ">=5.4"
}
}

回购 B

{
"name": "namespace/repoB",
"description": "My repository B.",
"repositories": [
{
"type": "vcs",
"url": "ssh://git@git.domain.com:620/namespace/repoA.git"
}
],
"require": {
"namespace/repoA": "dev-master"
}
}

现在假设我有一个项目(ProjectA(,我想RepoB安装它。

项目 A

{
"repositories": [
{
"type": "vcs",
"url": "ssh://git@git.domain.com:620/namespace/repoB.git"
}
],
"require": {
"namespace/repoB": "dev-master"
}
}

但是,当我运行composer install时,出现以下错误:

问题1 - 命名空间/repoB dev-master 的安装请求 -> 命名空间/repoB[dev-master] 可以满足。 - 命名空间/repoB dev-master 需要命名空间/repoA dev-master ->找不到匹配的包。

我知道它无法找到该包,因为它是一个私有存储库,但是既然它在repoBrepositories内,为什么不获取它?

我认为如果我将存储库添加到Project A它会起作用:

{
"repositories": [
{
"type": "vcs",
"url": "ssh://git@git.domain.com:620/namespace/repoA.git"
},
{
"type": "vcs",
"url": "ssh://git@git.domain.com:620/namespace/repoB.git"
}
],
"require": {
"namespace/repoB": "dev-master"
}
}

但是在我将其添加到我的Project Arequire之前,它仍然不起作用:

{
"repositories": [
{
"type": "vcs",
"url": "ssh://git@git.domain.com:620/namespace/repoA.git"
},
{
"type": "vcs",
"url": "ssh://git@git.domain.com:620/namespace/repoB.git"
}
],
"require": {
"namespace/repoB": "dev-master",
"namespace/repoA": "dev-master"
}
}

现在我的问题是...如何通过仅指定我的repoB来使作曲家安装我的repoA

你不能,这里有一个解释:为什么 Composer 不能递归加载存储库?

相关内容

  • 没有找到相关文章

最新更新