Shopware 6执行./bin/build-storefront.sh时Webpack模块找不到报错求助
解决Shopware 6 Docker环境下编译JS代码时的MODULE_NOT_FOUND错误
问题核心
报错根源是NetiNextStorePickup插件的webpack配置文件尝试引用NetiNextStoreLocator的配置文件,但目标路径不存在,大概率是插件安装不完整、路径引用错误或大小写不匹配(Linux环境路径区分大小写)导致。
解决方案
检查插件完整性与激活状态
- 确认
/sw6/vendor/store.shopware.com/目录下同时存在netinextstorelocator和netinextstorepickup文件夹,若缺失,执行Composer重新安装:composer require store.shopware.com/netinextstorelocator store.shopware.com/netinextstorepickup - 登录Shopware后台插件管理页面,确认两个插件均已激活。
- 确认
修正插件路径引用错误
- 打开
/sw6/vendor/store.shopware.com/netinextstorepickup/src/Resources/app/storefront/build/webpack.config.js文件 - 查找其中引用
NetiNextStoreLocator配置的代码行,检查路径的大小写和正确性:- 错误示例:
require('/sw6/vendor/store.shopware.com/NetiNextStoreLocator/...') - 修正为正确路径(注意Linux大小写),推荐用相对路径避免绝对路径问题:
require('../../../../netinextstorelocator/src/Resources/app/storefront/build/webpack.config.js')
- 错误示例:
- 打开
清理缓存并重新构建
- 清理Shopware系统缓存:
./bin/console cache:clear - 进入Storefront的Node.js目录,清理依赖缓存并重装:
cd /sw6/vendor/shopware/storefront/Resources/app/storefront/ rm -rf node_modules package-lock.json npm cache clean --force npm install - 重新执行构建命令:
./bin/build-storefront.sh
- 清理Shopware系统缓存:
检查Docker文件权限
确保容器内/sw6/目录权限正确,给运行构建的用户分配读写权限:chown -R www-data:www-data /sw6/(若构建使用其他用户,替换为对应用户名即可)
内容的提问来源于stack exchange,提问作者smiady
相关产品推荐
相关产品推荐

