You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony5部署资产构建失败:webpack Encore/Ux报encore命令未找到

Symfony 5 Webpack Encore 生产构建报错解决

以下是针对你遇到的「sh: encore: command not found」报错及资产未编译问题的排查步骤:

1. 确保依赖完整安装

开发环境正常但生产构建失败,通常是因为生产环境未安装全依赖。先清理现有依赖重新安装:

rm -rf node_modules package-lock.json
npm install

如果部署时默认只安装生产依赖,需要加上--production=false确保开发依赖(包括encore)被安装:

npm install --production=false

2. 修改build脚本为本地encore路径

全局未安装encore时,直接调用encore会找不到,修改package.json中的build脚本,改用项目本地的encore执行文件:

"build": "./node_modules/.bin/encore production --progress"

或者用npx自动调用本地包:

"build": "npx encore production --progress"

3. 确认Symfony Encore已安装

检查项目是否已安装@symfony/webpack-encore:

npm list @symfony/webpack-encore

如果显示未安装,执行安装命令:

npm install @symfony/webpack-encore --save-dev

4. 检查部署环境的NODE_ENV设置

如果部署工具(如Deployer、Capistrano)设置了NODE_ENV=production,可能会跳过开发依赖安装。需调整部署流程,确保在构建前安装所有依赖,或单独安装dev依赖用于构建。

5. 手动验证encore可执行性

在服务器的项目目录下,先手动执行:

./node_modules/.bin/encore --version

如果能正常输出版本号,再运行npm run build,确认构建是否正常。


内容的提问来源于stack exchange,提问作者21t0r01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 16:00:16