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

执行npm run start报错:webpack_dev_server_1.default.addDevServerEntrypoints不是函数

问题描述

为修复漏洞,我在package.json的resolutions字段中添加了相关配置,执行npm install和npm run build均正常,但运行npm run start时出现如下错误:

Your global Angular CLI version (12.2.18) is greater than your local version (12.2.17). The local Angular CLI version is used.

To disable this warning use "ng config -g cli.warnings.versionMismatch false".
- Generating browser application bundles (phase: setup)...An unhandled exception occurred: webpack_dev_server_1.default.addDevServerEntrypoints is not a function
  See "C:\Users\330\AppData\Local\Temp\ng-FEY8TL\angular-errors.log" for further details.
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file C:\WINDOWS\system32\cmd.exe
npm ERR! errno ENOENT
npm ERR! trade-capture-ui@0.0.0 start: `ng serve`
npm ERR!
npm ERR! Failed at the trade-capture-ui@0.0.0 start script.

我怀疑是webpack-dev-server与Angular版本不兼容导致的,尝试删除node_modules和package-lock.json后重新执行npm install,结果出现了更多错误。我是Angular和Nest.js的新手,以下是我的package.json文件:

{
  "dependencies": {
    "@angular/animations": "~12.2.0",
    "@angular/cdk": "^12.2.13",
    "@angular/common": "~12.2.0",
    "@angular/compiler": "~12.2.0",
    "@angular/core": "~12.2.0",
    "@angular/forms": "~12.2.0",
    "@angular/material": "^12.2.13",
    "@angular/platform-browser": "~12.2.0",
    "@angular/platform-browser-dynamic": "~12.2.0",
    "@angular/router": "~12.2.0",
    "@rig/common": "4.4.1",
    "@rig/ng-core-components": "4.4.1",
    "@rig/ng-core-navigation": "^4.3.0",
    "@rig/pcb-web-theme": "4.1.0",
    "@rig/styles": "4.4.0",
    "colortranslator": "^1.9.3",
    "rxjs": "~6.6.0",
    "tslib": "^2.3.0",
    "xml-formatter": "^2.6.1",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-builders/jest": "^15.0.0",
    "@angular-devkit/build-angular": "~12.2.18",
    "@angular/cli": "~12.2.16",
    "@angular/compiler-cli": "~12.2.0",
    "@types/jasmine": "~3.8.0",
    "@types/jest": "^29.2.4",
    "@types/node": "^18.11.17",
    "jasmine-core": "~3.8.0",
    "jest": "^29.3.1",
    "jest-environment-jsdom": "^29.3.1",
    "jest-junit": "^15.0.0",
    "jest-preset-angular": "12.2.3",
    "jest-sonar-reporter": "^2.0.0",
    "loader-utils": "^2.0.4",
    "moment": "2.29.4",
    "prettier": "^1.19.1",
    "ts-jest": "^29.0.3",
    "typescript": "~4.3.5",
    "webpack-dev-server": "4.11.1",
    "html-loader": "4.2.0"
  },
  "jest": {
    "preset": "jest-preset-angular",
    "setupTestFrameworkScriptFile": "<rootDir>/setupJest.ts"
  },
  "jestSonar": {
    "reportPath": "../coverage"
  },
  "resolutions": {
    "webpack-dev-server": "4.11.1",
    "loader-utils": "^2.0.4",
    "babel-loader": "8.2.5",
    "json5": "2.2.2",
    "minimatch": "3.0.5",
    "glob-parent": "6.0.2",
    "http-cache-semantics": "4.1.1",
    "webpack": "5.76.0",
    "webpack-sources": "^3.2.3",
    "ejs": "3.1.9",
    "tough-cookie": "4.1.3",
    "semver": "7.5.2",
    "escodegen": "2.1.0",
    "@babel/traverse": "7.23.2"
  }
}
解决方案

你的判断完全正确,核心问题是Angular 12与webpack-dev-server 4.x版本不兼容。Angular 12配套的@angular-devkit/build-angular 12.x版本依赖webpack-dev-server 3.x,强行升级到4.x会导致API不匹配(比如addDevServerEntrypoints方法在4.x中已被移除或重构)。

按以下步骤修复:

  1. 移除resolutions中的强制版本配置
    从package.json的resolutions字段中删除以下两行,避免强制锁定不兼容的版本:

    "webpack-dev-server": "4.11.1",
    "webpack": "5.76.0",
    
  2. 降级webpack-dev-server到兼容版本
    将devDependencies里的webpack-dev-server从4.11.1改为Angular 12推荐的稳定版本3.11.3:

    "webpack-dev-server": "3.11.3"
    
  3. 清理依赖并重新安装
    执行以下命令彻底清理旧依赖并重新安装:

    # Windows系统执行
    del /s /q node_modules && del package-lock.json
    # macOS/Linux系统执行
    rm -rf node_modules package-lock.json
    
    npm install
    
  4. 统一Angular构建工具版本(可选但推荐)
    你的项目中@angular/cli是12.2.16,@angular-devkit/build-angular是12.2.18,差异不大,但最好保持同版本,将@angular/cli也改为~12.2.18,避免潜在的版本冲突。

额外提示:

  • 不要随意升级Angular核心版本之外的构建工具,尤其是webpack、webpack-dev-server这类与Angular构建深度绑定的依赖。
  • 修复漏洞时优先选择Angular官方发布的安全补丁版本,比如将所有@angular/*依赖从~12.2.0升级到~12.2.18,这样既能修复官方已知漏洞,又能避免依赖冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 07:17:06