Symfony包中的composer.json
我已经在本地git服务器上创建了一个新的Symfony包,它工作得很好。我在一个新的Symfony项目中使用它,该捆绑包使用Composer导入到项目中,以Symfony包中的composer.json,json,symfony,composer-php,Json,Symfony,Composer Php,我已经在本地git服务器上创建了一个新的Symfony包,它工作得很好。我在一个新的Symfony项目中使用它,该捆绑包使用Composer导入到项目中,以vendor\Company\AppBundle它依赖于一个外部捆绑包,因此我在该捆绑包的根目录中创建了一个Composer.json文件: { "name": "Company/AppBundle", "description": "Application resources", "type": "symfony-bundle"
vendor\Company\AppBundle
它依赖于一个外部捆绑包,因此我在该捆绑包的根目录中创建了一个Composer.json
文件:
{
"name": "Company/AppBundle",
"description": "Application resources",
"type": "symfony-bundle",
"license": [
"proprietary"
],
"require": {
"jms/metadata": "~1.1"
}
}
现在我希望composer更新
能够获得jms/metadata
包,但它没有
我通过以下方式导入公司/AppBundle
:
"repositories": [
{
"type": "package",
"package": {
"name": "Company/AppBundle",
"version": "2.1.2",
"source": {
"url": "git://github.com/guillaumepotier/parsley.js.git",
"type": "git",
"reference": "2.1.2"
}
}
}
],
"require": {
"Company/AppBundle": "*",
}
composer list——树
确实显示了Company/AppBundle
,但没有列出它下面的任何依赖项
composer-validate——带有依赖项的
没有任何相关信息。听起来像是您在供应商/公司/AppBundle
中添加了一个composer.json
文件。从不建议修改供应商
目录中的内容。composer也不使用供应商
目录来确定需求(即使在路径
存储库的情况下,它仍然是从中读取的源,而不是供应商
目录)
我也不明白如果
Company/AppBundle
还没有composer.json
,您是如何安装的。您能否详细说明您的项目/依赖项的层次结构,以及这取决于什么?听起来您在供应商/公司/AppBundle
中添加了composer.json
文件。从不建议修改供应商
目录中的内容。composer也不使用供应商
目录来确定需求(即使在路径
存储库的情况下,它仍然是从中读取的源,而不是供应商
目录)
我也不明白如果
Company/AppBundle
还没有composer.json
,您是如何安装的。请详细说明项目/依赖项的层次结构,以及哪些层次结构取决于什么?您使用的是什么版本的composer?通过composer show Company/AppBundle-i-t
,您得到了什么输出?您使用的是什么版本的composer?使用composer show Company/AppBundle-i-t
可以获得什么输出?我使用composer.json
在项目根目录中导入Company/AppBundle
,使用:`“repositories”:[{“type”:“package”,“package”:{“name”:“Company/AppBundle”,“version”:“0.0.72”,“源”:{“url”:“type”:“git”,“reference”:“master”}}}]“require”:{“Company/AppBundle”:“*”,}`我已经修改了供应商/Company/AppBundle
,以测试它是否有效,但我确实拥有对其存储库的主访问权限。只要您手动需要它的依赖项,它就可以正常工作,但依赖项已经增加,我们希望在捆绑包中隐式地需要它们。不确定您为什么使用包类型而不是vcs类型。手动维护包类型是一个非常麻烦的过程,它实际上应该只用于无法以更首选的方式包含的源。由于您拥有源repo,您只需向其添加一个composer.json,并将其作为vcs存储库类型包含。这就解决了它。将Company/AppBundle
导入为“类型”:“vcs”
而不是“类型”:“package”
让composer在该repoI中使用composer.json
导入Company/AppBundle
,在项目根目录中使用composer.json
,使用:`“存储库”:[{“类型”:“package”,“包”:{“名称”:“公司/AppBundle”,“版本”:“0.0.72”,“源”:{“url”:“类型”:“git”,“引用”:“主控”}}}}}]“要求”:{“公司/AppBundle”:“*”,}`我已经修改了供应商/Company/AppBundle
,以测试它是否有效,但我确实拥有对其存储库的主访问权限。只要您手动需要它的依赖项,它就可以正常工作,但依赖项已经增加,我们希望在捆绑包中隐式地需要它们。不确定您为什么使用包类型而不是vcs类型。手动维护包类型是一个非常麻烦的过程,它实际上应该只用于无法以更首选的方式包含的源。由于您拥有源repo,您只需向其添加一个composer.json,并将其作为vcs存储库类型包含。这就解决了它。将Company/AppBundle
导入为“类型”:“vcs”
而不是“类型”:“package”
让composer在该repo中使用composer.json