Ubuntu下安装Symfony Encore报Node.js版本不兼容错误
报错原因
当前环境安装的Node.js 10.19.0版本不满足@symfony/webpack-encore@2.1.0的运行要求,该版本Encore要求Node.js版本为^12.13.0 || >=14.0.0,版本不匹配导致yarn安装依赖中断。
解决方法
方案1:升级Node.js至兼容版本(推荐)
Node.js 10早已停止官方维护,存在安全漏洞和兼容性问题,优先升级到长期支持版Node.js即可解决问题,Ubuntu环境操作步骤:
- 卸载系统自带旧版本Node.js
sudo apt remove -y nodejs npm
- 安装Node.js 18长期支持版(兼容Symfony 5.4与最新版Webpack Encore)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs
- 验证安装版本,确认输出为v18.x.x即符合要求
node -v
- 回到项目目录重新执行依赖安装
yarn install
方案2:安装兼容Node 10的旧版Encore(仅临时过渡使用,不推荐)
如果暂时无法升级Node.js版本,可以锁定1.x版本的Webpack Encore,该版本支持Node 10环境:
- 打开项目根目录的
package.json文件,找到devDependencies下的@symfony/webpack-encore配置,将版本号修改为^1.8.2 - 删除旧的依赖锁文件和缓存
rm -rf node_modules yarn.lock
- 重新执行依赖安装
yarn install
注意:1.x版本的Webpack Encore已停止功能迭代,仅推送关键安全修复,长期使用建议尽快升级Node.js运行环境。
内容的提问来源于stack exchange,提问作者bcag2
相关产品推荐
相关产品推荐

