Php 如何管理本地Shopware Plugin composer.json依赖关系?

Php 如何管理本地Shopware Plugin composer.json依赖关系?,php,composer-php,shopware,Php,Composer Php,Shopware,在商店软件系统中,有一个主composer.json文件。这将管理主要的项目依赖项。除此之外,商店用品。如果通过主composer.json文件将这些插件添加到系统中,则插件的composer.json文件中的依赖项将最终位于根级供应商/文件夹中。这我理解 但是,插件似乎也可以安装在供应商文件夹之外的本地位置,可以是 /custom/plugins或 /自定义/静态插件 在本地安装插件时,应如何管理其依赖关系 在本地安装插件时,是否也会将其依赖项添加到主composer.json文件中?或者

在商店软件系统中,有一个主
composer.json
文件。这将管理主要的项目依赖项。除此之外,商店用品。如果通过主
composer.json
文件将这些插件添加到系统中,则插件的
composer.json
文件中的依赖项将最终位于根级
供应商/
文件夹中。这我理解

但是,插件似乎也可以安装在
供应商
文件夹之外的本地位置,可以是

  • /custom/plugins
  • /自定义/静态插件
在本地安装插件时,应如何管理其依赖关系

在本地安装插件时,是否也会将其依赖项添加到主
composer.json
文件中?或者有没有办法告诉shopware

嘿,安装这个插件的依赖项

另外--
/custom/plugins/*/packages
文件夹是如何进入这个文件夹的?我模糊地理解这些是针对私有插件依赖项的,但我不确定这意味着什么,也不确定应该如何管理这些代码

或者我误解了这些本地文件夹背后的意图,而Shopware 6中的期望是所有插件都应该通过主
composer.json
文件安装,而
自定义/
文件夹只是遗留的


或者其他什么?

如果您的插件位于
自定义/静态插件
文件夹中,您可以从根目录中选择
composer require my/plugin
。这就是在项目中使用composer插件的方法。Shopware然后在中搜索composer插件

看一看文档中关于如何处理需要的composer插件的部分

custom/plugins
文件夹中,您拥有所有商店插件。这也是为什么将
custom/plugins
文件夹的内容添加到git repo中的原因。因为
custom/plugins
中的插件来自Shopware商店。但是:如果愿意,您也可以将插件放在
custom/plugins
文件夹中


关于
custom/plugins/*/packages
:你说得对。查看文档中的部分。

如果两个插件提供了此类依赖项的冲突版本,那么“私有依赖项”对插件来说是真正私有的吗?或者它们会相互冲突吗?如果您在根
composer.json中安装这两个插件,则使用
composer require
。会有冲突。或者他们都会使用一个插件的版本。取决于需求的定义方式,这是有意义和有用的,Christopher。我还有一个大问题没有回答。如果我有像custom/plugins/SomePlugin/composer.json这样的东西,shopware是否在安装
custom/plugins/SomePlugin/composer.json
中列出的依赖项?否-您需要将插件与整个供应商文件夹一起发货,在CI中安装依赖项,或者在服务器上的插件中手动安装
composer
。“否”并不完全正确:-)您也可以在Shopware composer中要求您的插件。然后,插件的依赖关系将在Shopware供应商目录中解决,您无需发货。但只有当它是您项目的本地插件时,这才是实用的。或者它可以在packagist或GitHub上公开获得。如果你想在商店里发布插件,你仍然需要发布依赖项。但这在未来的主要版本中也会发生变化。希望是6.5.0.0