Shopware 6 从克隆到上线:一条命令跑通开发环境【免费下载链接】shopwareShopware 6 is an open commerce platform based on Symfony Framework and Vue and supported by a worldwide community and more than 3.100 community extensions项目地址: https://gitcode.com/GitHub_Trending/sh/shopwareShopware 6 是一个基于 Symfony 7 和 Vue.js 3 的开源电商平台:商品、订单、促销、结算整套流程开箱即用,背后 3100 多个社区扩展按需拼装。适合想拥有完整商城、而不是自己拼积木的开发者。本文带你从零把 Shopware 6 装起来、配好并推向线上。先核对一下手头的工具版本这张表列出 Shopware 6 对运行环境的基本要求,装之前就照此核对。项目最低版本备注PHP8.2官方依赖声明支持 8.2–8.5,开发容器自带 8.4数据库MariaDB 10.11+ / MySQL 8.0+开发环境默认使用 MariaDBWeb 服务器Caddy / Nginx 1.18+容器方案内置 CaddyNode.js18+官方开发容器使用 Node 24,前端构建依赖它Docker + Compose2.x最短路径方案的前提为什么卡在这个版本:Shopware 6 的核心 API 用了 8.2 之后的语言特性,而前端资源由 Vite 工具链编译,Node 太旧会在编译阶段直接报错。🐳 用容器拉起整套开发环境这一章的目标:不装任何本地运行时,只用容器让 Shopware 6 跑起来。仓库根目录自带的 compose.yaml 已经把 web、MariaDB、OpenSearch、Valkey 缓存、Mailpit 邮件收件箱全部配好,四步走完。git clone https://gitcode.com/GitHub_Trending/sh/shopware cd shopware docker compose up -d docker compose exec web composer setupdocker compose up -d后台启动全部服务,web 容器把仓库目录挂载为工作目录,宿主机改动即时生效;composer setup是一条全量安装脚本,内部依次执行composer install -o、init:db(建库并安装 Shopware)、init:js(安装前端依赖)、build:js(编译前后端资源)、最后theme:change --sync --all Storefront激活默认主题;成功的标志:http://localhost:8000打开店铺首页,http://localhost:8000/admin进入后台,http://localhost:8025能看到 Mailpit 收件箱,http://localhost:9080是数据库管理面板 Adminer。进后台的默认账号是admin/shopware,改密码之前先记好它。不用容器:手动装一遍,看清每个环节不想把一切交给容器?这一章按"拿代码 → 配环境 → 装依赖 → 初始化"的顺序手动走一遍,装完你对 Shopware 6 的启动过程就有数了。仓库已经在你手里,先把环境文件配好。仓库没有预置.env,变量取值可以参考 compose.yaml 里web服务的那一段:cat > .env <<'EOF' APP_ENV=dev APP_URL=http://localhost:8000 DATABASE_URL="mysql://root:root@127.0.0.1:3306/shopware?serverVersion=8.0" MAILER_DSN=smtp://127.0.0.1:1025 OPENSEARCH_URL=http://127.0.0.1:9200 EOF这五个变量分别管环境、访问地址、数据库连接、邮件通道和商品搜索,其余项可以保持默认。数据库连接不通时所有后续命令都会卡住,所以先确认库服务已启动、账号密码能对上。代码就位后,装 PHP 依赖:composer install -o接着初始化数据库。Shopware 的安装命令是system:install,仓库的composer init:db脚本就是它的封装,完整安装会再跑数据库迁移、配置商店、刷新索引、注册定时任务、刷新插件,最后编译主题:bin/console system:install --drop-database --basic-setup --force --no-assign-theme--basic-setup会顺手创建admin/shopware管理员和默认商店渠道;--drop-database --force则是重跑安装时用来清掉旧库和安装锁的。再装前端依赖。管理后台和店铺前端各有一份package.json,仓库的composer init:js会对它们和验收测试目录分别执行clean-install,等价于:cd src/Administration/Resources/app/administration && npm ci && cd - cd src/Storefront/Resources/app/storefront && npm ci && cd -最后把前端资源编译成可发布的静态文件:composer build:js这一步会先后构建管理后台(含 TypeScript 类型生成)和店铺前端(含theme:compile主题编译)。全部结束后跑一次bin/console system:check,全绿就手动装通了。装好之后先接上缓存、邮件与搜索装完别急着建商品,先把这三项配置落实,后面的开发体验会顺很多。邮件通道:变量MAILER_DSN。开发环境指向 Mailpit 就能在http://localhost:8025里截住所有邮件,订单通知、找回密码都看得见;生产环境换成真实 SMTP。商品搜索:变量OPENSEARCH_URL与ADMIN_OPENSEARCH_URL。搜索索引建在 OpenSearch 里,不接的话前台搜索和后台部分列表会明显变慢。缓存与会话:compose 文件里的 Valkey 服务就是 Redis 的替代品,会话和对象缓存落到内存里,能大幅减少重复的数据库查询。⚙️ 按场景往下做跑通只是起点。下面三个场景覆盖你大概率会碰到的三件事,每个都给一个最小可用的起点。把性能瓶颈找出来想知道某个页面慢在哪,用仓库自带的基准脚本对比改动前后的耗时:composer phpbench它执行phpbench run --report=compressed,输出压缩后的各场景基准数据。更进一步可以挂剖析器做请求级分析,仓库的 ADR 文档里放了一张 Tideways 火焰图,能清楚看到一次结算页请求里购物车、促销、运费各占多少时间:把店铺前端改成自己的样子店铺页面由 Twig 模板加 SCSS 构成,主题体系是定制入口:bin/console theme:create YourTheme bin/console theme:change --all YourTheme日常开发开composer watch:storefront起热更新服务,改 SCSS 和 Twig 立即生效;发布前用theme:compile重新编译。页面内容由 CMS 的原生区块搭建,机制说明见 native-block-system 的 ADR。把第三方支付服务商接进来对接支付前先弄清两条流程:同步支付(卡类,当场出结果)和异步支付(跳转类,靠回跳加异步通知确认结果)。异步流程的时序如下:图里 Storefront 创建订单后把客户端数据转给 StoreAPI,StoreAPI 向支付服务商(PSP)发起支付并拿回跳转链接;用户被 PSP 送回后,客户端落到订单完成页。你的扩展要实现的就是Handle Payment这一段。上线前逐项打勾部署到生产环境前,按顺序过一遍这张清单,每项后面就是对应的验证命令。检查项验证命令系统健康检查全绿bin/console system:check前端资源已编译composer build:js默认主题已激活并编译bin/console theme:change --all --sync Storefront缓存已清理,避免旧产物干扰bin/console cache:clear依赖安全审计无高危composer audit错误日志无 ERROR 级条目grep -R "ERROR" var/log/⚡ 踩坑速查装 Shopware 6 最容易卡住的五个地方,按"症状 → 常见原因 → 处理方式"列在这里。提示install.lock already exists装不动→ 上次安装已经留下锁文件 → 删掉项目根目录的install.lock,或给system:install加--force。system:install报数据库连接失败→DATABASE_URL里的地址、账号或端口和实际服务对不上 → 先用同一条 DSN 手动连一次库,确认服务在监听、权限足够再重跑安装。前台打开是一片空白→ JS 资源没有编译,或页面在走开发服务器 → 先跑composer build:js;开发模式则确认对应 watcher 进程还在运行。搜索框什么都搜不到→ OpenSearch 没接,或索引没建 → 核对OPENSEARCH_URL,连上后执行bin/console dal:refresh:index。/admin提示账号密码错误→ 没有用--basic-setup安装,后台不存在admin账号 → 手动执行bin/console user:create --admin创建管理员。Shopware 6 装完只是个骨架,把支付、邮件和搜索接上、把演示数据换成自己的商品,它才开始像一家真实的店。下一步就打开http://localhost:8000/admin,把商店名字改成你自己的。【免费下载链接】shopwareShopware 6 is an open commerce platform based on Symfony Framework and Vue and supported by a worldwide community and more than 3.100 community extensions项目地址: https://gitcode.com/GitHub_Trending/sh/shopware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
Shopware 6 从克隆到上线:一条命令跑通开发环境【免费下载链接】shopwareShopware 6 is an open commerce platform based on Symfony Framework and Vue and supported by a worldwide community and more than 3.100 community extensions项目地址: https://gitcode.com/GitHub_Trending/sh/shopwareShopware 6 是一个基于 Symfony 7 和 Vue.js 3 的开源电商平台:商品、订单、促销、结算整套流程开箱即用,背后 3100 多个社区扩展按需拼装。适合想拥有完整商城、而不是自己拼积木的开发者。本文带你从零把 Shopware 6 装起来、配好并推向线上。先核对一下手头的工具版本这张表列出 Shopware 6 对运行环境的基本要求,装之前就照此核对。项目最低版本备注PHP8.2官方依赖声明支持 8.2–8.5,开发容器自带 8.4数据库MariaDB 10.11+ / MySQL 8.0+开发环境默认使用 MariaDBWeb 服务器Caddy / Nginx 1.18+容器方案内置 CaddyNode.js18+官方开发容器使用 Node 24,前端构建依赖它Docker + Compose2.x最短路径方案的前提为什么卡在这个版本:Shopware 6 的核心 API 用了 8.2 之后的语言特性,而前端资源由 Vite 工具链编译,Node 太旧会在编译阶段直接报错。🐳 用容器拉起整套开发环境这一章的目标:不装任何本地运行时,只用容器让 Shopware 6 跑起来。仓库根目录自带的 compose.yaml 已经把 web、MariaDB、OpenSearch、Valkey 缓存、Mailpit 邮件收件箱全部配好,四步走完。git clone https://gitcode.com/GitHub_Trending/sh/shopware cd shopware docker compose up -d docker compose exec web composer setupdocker compose up -d后台启动全部服务,web 容器把仓库目录挂载为工作目录,宿主机改动即时生效;composer setup是一条全量安装脚本,内部依次执行composer install -o、init:db(建库并安装 Shopware)、init:js(安装前端依赖)、build:js(编译前后端资源)、最后theme:change --sync --all Storefront激活默认主题;成功的标志:http://localhost:8000打开店铺首页,http://localhost:8000/admin进入后台,http://localhost:8025能看到 Mailpit 收件箱,http://localhost:9080是数据库管理面板 Adminer。进后台的默认账号是admin/shopware,改密码之前先记好它。不用容器:手动装一遍,看清每个环节不想把一切交给容器?这一章按"拿代码 → 配环境 → 装依赖 → 初始化"的顺序手动走一遍,装完你对 Shopware 6 的启动过程就有数了。仓库已经在你手里,先把环境文件配好。仓库没有预置.env,变量取值可以参考 compose.yaml 里web服务的那一段:cat > .env <<'EOF' APP_ENV=dev APP_URL=http://localhost:8000 DATABASE_URL="mysql://root:root@127.0.0.1:3306/shopware?serverVersion=8.0" MAILER_DSN=smtp://127.0.0.1:1025 OPENSEARCH_URL=http://127.0.0.1:9200 EOF这五个变量分别管环境、访问地址、数据库连接、邮件通道和商品搜索,其余项可以保持默认。数据库连接不通时所有后续命令都会卡住,所以先确认库服务已启动、账号密码能对上。代码就位后,装 PHP 依赖:composer install -o接着初始化数据库。Shopware 的安装命令是system:install,仓库的composer init:db脚本就是它的封装,完整安装会再跑数据库迁移、配置商店、刷新索引、注册定时任务、刷新插件,最后编译主题:bin/console system:install --drop-database --basic-setup --force --no-assign-theme--basic-setup会顺手创建admin/shopware管理员和默认商店渠道;--drop-database --force则是重跑安装时用来清掉旧库和安装锁的。再装前端依赖。管理后台和店铺前端各有一份package.json,仓库的composer init:js会对它们和验收测试目录分别执行clean-install,等价于:cd src/Administration/Resources/app/administration && npm ci && cd - cd src/Storefront/Resources/app/storefront && npm ci && cd -最后把前端资源编译成可发布的静态文件:composer build:js这一步会先后构建管理后台(含 TypeScript 类型生成)和店铺前端(含theme:compile主题编译)。全部结束后跑一次bin/console system:check,全绿就手动装通了。装好之后先接上缓存、邮件与搜索装完别急着建商品,先把这三项配置落实,后面的开发体验会顺很多。邮件通道:变量MAILER_DSN。开发环境指向 Mailpit 就能在http://localhost:8025里截住所有邮件,订单通知、找回密码都看得见;生产环境换成真实 SMTP。商品搜索:变量OPENSEARCH_URL与ADMIN_OPENSEARCH_URL。搜索索引建在 OpenSearch 里,不接的话前台搜索和后台部分列表会明显变慢。缓存与会话:compose 文件里的 Valkey 服务就是 Redis 的替代品,会话和对象缓存落到内存里,能大幅减少重复的数据库查询。⚙️ 按场景往下做跑通只是起点。下面三个场景覆盖你大概率会碰到的三件事,每个都给一个最小可用的起点。把性能瓶颈找出来想知道某个页面慢在哪,用仓库自带的基准脚本对比改动前后的耗时:composer phpbench它执行phpbench run --report=compressed,输出压缩后的各场景基准数据。更进一步可以挂剖析器做请求级分析,仓库的 ADR 文档里放了一张 Tideways 火焰图,能清楚看到一次结算页请求里购物车、促销、运费各占多少时间:把店铺前端改成自己的样子店铺页面由 Twig 模板加 SCSS 构成,主题体系是定制入口:bin/console theme:create YourTheme bin/console theme:change --all YourTheme日常开发开composer watch:storefront起热更新服务,改 SCSS 和 Twig 立即生效;发布前用theme:compile重新编译。页面内容由 CMS 的原生区块搭建,机制说明见 native-block-system 的 ADR。把第三方支付服务商接进来对接支付前先弄清两条流程:同步支付(卡类,当场出结果)和异步支付(跳转类,靠回跳加异步通知确认结果)。异步流程的时序如下:图里 Storefront 创建订单后把客户端数据转给 StoreAPI,StoreAPI 向支付服务商(PSP)发起支付并拿回跳转链接;用户被 PSP 送回后,客户端落到订单完成页。你的扩展要实现的就是Handle Payment这一段。上线前逐项打勾部署到生产环境前,按顺序过一遍这张清单,每项后面就是对应的验证命令。检查项验证命令系统健康检查全绿bin/console system:check前端资源已编译composer build:js默认主题已激活并编译bin/console theme:change --all --sync Storefront缓存已清理,避免旧产物干扰bin/console cache:clear依赖安全审计无高危composer audit错误日志无 ERROR 级条目grep -R "ERROR" var/log/⚡ 踩坑速查装 Shopware 6 最容易卡住的五个地方,按"症状 → 常见原因 → 处理方式"列在这里。提示install.lock already exists装不动→ 上次安装已经留下锁文件 → 删掉项目根目录的install.lock,或给system:install加--force。system:install报数据库连接失败→DATABASE_URL里的地址、账号或端口和实际服务对不上 → 先用同一条 DSN 手动连一次库,确认服务在监听、权限足够再重跑安装。前台打开是一片空白→ JS 资源没有编译,或页面在走开发服务器 → 先跑composer build:js;开发模式则确认对应 watcher 进程还在运行。搜索框什么都搜不到→ OpenSearch 没接,或索引没建 → 核对OPENSEARCH_URL,连上后执行bin/console dal:refresh:index。/admin提示账号密码错误→ 没有用--basic-setup安装,后台不存在admin账号 → 手动执行bin/console user:create --admin创建管理员。Shopware 6 装完只是个骨架,把支付、邮件和搜索接上、把演示数据换成自己的商品,它才开始像一家真实的店。下一步就打开http://localhost:8000/admin,把商店名字改成你自己的。【免费下载链接】shopwareShopware 6 is an open commerce platform based on Symfony Framework and Vue and supported by a worldwide community and more than 3.100 community extensions项目地址: https://gitcode.com/GitHub_Trending/sh/shopware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考