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

升级Angular 5后VSTS构建失败:缺失uglifyjs-webpack-plugin依赖求解决

解决Angular 5在VSTS构建中缺失uglifyjs-webpack-plugin的问题

这种本地构建正常但VSTS(现Azure DevOps)构建失败的情况我之前踩过不少坑,大多和依赖安装不完整或者环境不一致有关。给你几个实测可行的解决方案:

1. 显式安装缺失的依赖

Angular CLI 5.x的部分版本不会自动将uglifyjs-webpack-plugin添加到项目的package.json中,本地环境可能因为缓存或者之前的安装残留有这个包,但VSTS是全新的构建环境,所以需要手动安装并提交依赖配置:

npm install uglifyjs-webpack-plugin --save-dev

安装完成后,把更新后的package.json和package-lock.json提交到代码仓库,这样VSTS构建时就会自动安装这个必要的依赖。

2. 清理VSTS构建缓存

有时候VSTS会缓存node_modules目录,导致依赖更新不及时或者缺失。你可以在构建流程中添加一个清理步骤,确保每次构建都是全新安装依赖:

  • 在VSTS构建任务中,添加一个命令行任务,放在npm install步骤之前;
  • 针对Windows环境,执行以下命令:
    rd /s /q node_modules
    del package-lock.json
    
    如果是Linux/macOS环境,用:
    rm -rf node_modules
    rm package-lock.json
    

3. 确保本地与VSTS的Angular CLI版本一致

本地和VSTS环境的Angular CLI版本不一致,也可能导致依赖需求不匹配。你可以按以下步骤对齐版本:

  1. 本地执行ng --version查看当前使用的@angular/cli版本;
  2. 在VSTS的构建任务中,添加一个npm命令安装对应版本的CLI:
    npm install @angular/cli@你的本地版本号 --save-dev
    
    或者先全局安装对应版本:
    npm install -g @angular/cli@你的本地版本号
    

你提供的构建错误日志:

[command]C:\Windows\system32\cmd.exe /D /S /C ""C:\Program Files\nodejs\npm.cmd" run build -- "--env=nightlybuild""
2018-01-29T19:06:23.9805943Z
2018-01-29T19:06:23.9807508Z > aes-web-portal@0.0.0 build d:\a\1\s\AESWebPortal\aes-web-portal
2018-01-29T19:06:23.9808541Z > ng build "--env=nightlybuild"
2018-01-29T19:06:23.9809016Z
2018-01-29T19:06:26.8023599Z Cannot find module 'uglifyjs-webpack-plugin'
2018-01-29T19:06:26.8041057Z Error: Cannot find module 'uglifyjs-webpack-plugin'
2018-01-29T19:06:26.8041907Z at Function.Module._resolveFilename (module.js:469:15)
2018-01-29T19:06:26.8042680Z at Function.Module._load (module.js:417:25)
2018-01-29T19:06:26.8043360Z at Module.require (module.js:497:17)
2018-01-29T19:06:26.8044136Z at require (internal/module.js:20:19)
2018-01-29T19:06:26.8046229Z at Object.<anonymous> (d:\a\1\s\AESWebPortal\aes-web-portal\node_modules\@angular\cli\models\webpack-configs\production.js:13:24)
2018-01-29T19:06:26.8047263Z at Module._compile (module.js:570:32)
2018-01-29T19:06:26.8048144Z at Object.Module._extensions..js (module.js:579:10)
2018-01-29T19:06:26.8048743Z at Module.load (module.js:487:32)
2018-01-29T19:06:26.8049274Z at tryModuleLoad (module.js:446:12)
2018-01-29T19:06:26.8049758Z at Function.Module._load (module.js:438:3)
2018-01-29T19:06:26.8050286Z at Module.require (module.js:497:17)
2018-01-29T19:06:26.8050774Z at require (internal/module.js:20:19)
2018-01-29T19:06:26.8051383Z at Object.<anonymous> (d:\a\1\s\AESWebPortal\aes-web-portal\node_modules\@angular\cli\models\webpack-configs\index.js:9:10)
2018-01-29T19:06:26.8052009Z at Module._compile (module.js:570:32)
2018-01-29T19:06:26.8052499Z at Object.Module._extensions..js (module.js:579:10)
2018-01-29T19:06:26.8052975Z at Module.load (module.js:487:32)

内容的提问来源于stack exchange,提问作者Iosif Bancioiu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:42:11