使用 Composer 管理 Shopware 扩展是标准做法,1. 确保项目含 composer.json 并配置自动加载;2. 通过 composer require 安装 Packagist 上的插件;3. 私有插件需在 composer.json 添加 path 或私有仓库并引入;4. 安装后用 bin/console plugin:install --activate 激活,必要时刷新缓存;5. 更新运行 composer update 再 plugin:update,卸载则执行 uninstall 和 remove。

使用 Composer 管理 Shopware 扩展是现代开发的标准做法,它能帮助你更高效地安装、更新和依赖管理。Shopware 6 推荐通过 Composer 来集成插件(扩展),无论是来自官方商店、第三方还是自研的。
1. 确保项目已支持 Composer
如果你的 Shopware 项目是通过标准方式安装的(例如使用 shopware/production 模板),那么它已经是一个 Composer 项目,根目录下会有 composer.json 文件。
检查你的项目结构是否包含:
- /custom/plugins:存放自定义或第三方插件
- composer.json:声明项目依赖
确保 composer.json 中启用了插件自动加载,例如:
"autoload": {
"psr-4": {
"Swag\\MyExamplePlugin\\": "custom/plugins/MyExamplePlugin/src/"
}
}
2. 安装官方或 Packagist 上的扩展
许多 Shopware 插件已发布到 packagist.org,你可以直接使用 Composer 安装。
例如安装一个名为 swag/example-plugin 的插件:
composer require swag/example-plugin
Composer 会自动下载插件到 custom/plugins 目录(具体路径由插件的 composer.json 配置决定),并注册 PSR-4 自动加载。
3. 添加私有或未发布插件
对于公司内部开发的插件,或未上传到 Packagist 的扩展,可以通过配置自定义仓库。
在项目的 composer.json 中添加仓库信息:
"repositories": [
{
"type": "path",
"url": "./custom/plugins/MyPrivatePlugin"
}
]
然后运行:
CPWEB企业网站管理系统(以下称CPWEB)是一个基于PHP+Mysql架构的企业网站管理系统。CPWEB 采用模块化方式开发,功能强大灵活易于扩展,并且完全开放源代码,面向大中型站点提供重量级企业网站建设解决方案。CPWEB企业网站管理系统 2.2 Beta 测试版本,仅供测试,不建议使用在正式项目中,否则发生任何的后果自负。
composer require vendor/my-private-plugin:dev-main
这会将本地插件作为依赖引入,并软链接(symlink)到 vendor 目录(适用于开发环境)。
生产环境建议使用私有 Composer 仓库(如 Satis、Private Packagist 或 Artifactory)托管这些插件。
4. 激活插件
安装完成后,需要在 Shopware 中激活插件。使用命令行工具:
bin/console plugin:install --activate MyExamplePlugin
如果插件有数据库变更,加上 --clear-cache 和 --force 参数:
bin/console plugin:refresh bin/console plugin:install --activate MyExamplePlugin --clear-cache
5. 更新与卸载
升级插件只需运行:
composer update vendor/plugin-name
然后重新安装激活:
bin/console plugin:refresh bin/console plugin:update PluginName
卸载插件:
bin/console plugin:uninstall PluginName --remove-files composer remove vendor/plugin-name
基本上就这些。用好 Composer 能让 Shopware 扩展管理更清晰、可复现,也便于 CI/CD 流程集成。









