我通过编辑器包含一个私有git存储库,并且它按照预期从bitbucket加载,但是我在我的私有包中将代码定义为公共依赖。
我的私有包已加载,但未添加任何依赖项。我已经读过,在使用存储库时,composer不支持递归加载依赖项:https://getcomposer.org/doc/faqs/why-can%27t-composer-load-repositories-recursively.md
但是我对此的理解是我的私有存储库无法定义另一个私有存储库,但仍应能够使用packagist.org上定义的公共存储库
私人存储库composer.json:
{
"name": "private/dependancy",
"description": "Private git dependency",
"type" : "library",
"require-dev": {
"codeception/codeception": "*"
}
}
Project' composer.json(调整到相关部分)
{
"name": "primary/project",
"description": "Main project including a vcs dependancy",
"require": {
"private/dependancy" : "0.0.*"
},
"repositories":[
{
"type" : "vcs",
"url" : "some repo",
"options": {
"ssh2": "some crednetials"
}
}
]
}
对此的任何指导将不胜感激。
答案 0 :(得分:2)
Composer不会安装您自己需要的软件包的dev依赖项。
您的主要/项目需要私有/依赖,不需要任何其他内容。列出为require-dev的任何内容都没有安装,因为在开发私有/依赖时会考虑使用它,而不是在使用它时。
在主composer.json上运行Composer并且未明确排除dev依赖关系时,只有得到评估的另一件事是“autoload-dev”。
composer install --no-dev
不会安装任何dev依赖项,也不会为dev。
创建自动加载composer install
将安装主项目的dev依赖项,并为dev创建自动加载 - 它永远不会安装通过require或require-dev添加的任何软件包的dev依赖项,也不会添加它们的autoload-dev。