Jenkins构建失败排查:是否为Node.js版本问题?
解决Jenkins构建失败:Node.js版本不兼容引发的SyntaxError
嘿,我一眼就定位到你构建失败的原因了!看报错信息里的SyntaxError: Unexpected token [,这是因为你当前用的Node.js v4.5.0不支持ES6的数组解构语法(就是.then(([size, source]) => {里的[size, source]这种写法),而你项目里的html-webpack-plugin版本依赖了这个ES6特性,老版本Node根本认不出这种语法,所以直接炸了。
给你两个靠谱的解决方案,选一个就行:
方案一:升级Node.js版本(推荐)
Node.js v4.x早在2018年就停止维护了,不仅有安全隐患,还不支持很多现代JS特性。建议用nvm(Node版本管理器)升级到LTS长期支持版本,比如v16.x或者v18.x。操作步骤如下:# 安装nvm(如果Jenkins服务器上还没装的话) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 安装Node.js v16 LTS版本 nvm install 16 # 设置v16为默认版本,确保后续构建都用这个版本 nvm alias default 16升级完之后,先在本地或者Jenkins服务器上手动跑一遍
npm run build测试,没问题再重新触发构建任务。方案二:降级html-webpack-plugin到兼容版本
如果暂时没法升级Node,那可以把html-webpack-plugin降级到支持Node.js v4的最后一个版本,比如^3.2.0。修改项目根目录的package.json文件:"dependencies": { // 其他依赖... "html-webpack-plugin": "^3.2.0" }然后执行
npm install重新安装依赖,再测试构建是否正常。
不管选哪个方案,记得先在本地验证成功后再推到Jenkins上,避免白跑构建任务~
内容的提问来源于stack exchange,提问作者ssss
相关产品推荐
相关产品推荐

