我有两个私人存储库,我们称之为RepoA
和RepoB
。 RepoA
需要RepoB
,它们都是gitlab上的私有存储库,端口为620
。
以下是两个仓库中的composer.json
:
{
"name": "namespace/repoA",
"description": "My repository A.",
"require": {
"php": ">=5.4"
}
}
{
"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
。
{
"repositories": [
{
"type": "vcs",
"url": "ssh://git@git.domain.com:620/namespace/repoB.git"
}
],
"require": {
"namespace/repoB": "dev-master"
}
}
但是,当我运行composer install
时,我收到以下错误:
问题1 - 命名空间/ repoB dev-master的安装请求 - >可以通过namespace / repoB [dev-master]来满足。 - namespace / repoB dev-master需要namespace / repoA dev-master - >找不到匹配的包。
我知道它无法找到包,因为它是私有存储库,但由于它位于repositories
的{{1}}内,为什么不提取它?
我认为如果我将存储库添加到repoB
:
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"
}
}
添加到我的require
之前,它仍然无效:
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",
"namespace/repoA": "dev-master"
}
}
来让作曲家安装repoA
?