【问题标题】:An unhandled exception occurred: Cannot find module '@angular/compiler-cli' with ng serve发生未处理的异常:使用 ng serve 找不到模块“@angular/compiler-cli”
【发布时间】:2020-12-29 15:38:28
【问题描述】:

我已检查 Angular 项目并尝试使用此命令运行 ng serve,但出现以下错误。

 An unhandled exception occurred: Cannot find module '@angular/compiler-cli'
Require stack:
- D:\PMSAngularProj\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js
- D:\PMSAngularProj\node_modules\@ngtools\webpack\src\index.js
- D:\PMSAngularProj\node_modules\@angular-devkit\build-angular\src\angular-cli-files\models\webpack-configs\typescript.js
- D:\PMSAngularProj\node_modules\@angular-devkit\build-angular\src\angular-cli-files\models\webpack-configs\index.js
- D:\PMSAngularProj\node_modules\@angular-devkit\build-angular\src\browser\index.js
- D:\PMSAngularProj\node_modules\@angular-devkit\build-angular\src\dev-server\index.js
- C:\Users\user\AppData\Roaming\npm\node_modules\@angular\cli\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js   
- C:\Users\user\AppData\Roaming\npm\node_modules\@angular\cli\node_modules\@angular-devkit\architect\node\index.js
- C:\Users\user\AppData\Roaming\npm\node_modules\@angular\cli\models\architect-command.js
- C:\Users\user\AppData\Roaming\npm\node_modules\@angular\cli\commands\serve-impl.js
- C:\Users\user\AppData\Roaming\npm\node_modules\@angular\cli\node_modules\@angular-devkit\schematics\tools\export-ref.js
- C:\Users\user\AppData\Roaming\npm\node_modules\@angular\cli\node_modules\@angular-devkit\schematics\tools\index.js
- C:\Users\user\AppData\Roaming\npm\node_modules\@angular\cli\utilities\json-schema.js
- C:\Users\user\AppData\Roaming\npm\node_modules\@angular\cli\models\command-runner.js
- C:\Users\user\AppData\Roaming\npm\node_modules\@angular\cli\lib\cli\index.js
- C:\Users\user\AppData\Roaming\npm\node_modules\@angular\cli\lib\init.js
- C:\Users\user\AppData\Roaming\npm\node_modules\@angular\cli\bin\ng
See "C:\Users\user\AppData\Local\Temp\ng-6M2aBm\angular-errors.log" for further details.

package.json

{
  "name": "ng-pi-admin",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build --base-href ./",
    "build:prod": "ng build --prod --base-href ./",
    "build:ci": "ng build --prod --base-href ./",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^7.2.10",
    "@angular/common": "^7.2.10",
    "@angular/compiler": "^7.2.10",
    "@angular/core": "^7.2.10",
    "@angular/forms": "^7.2.10",
    "@angular/http": "^7.2.10",
    "@angular/platform-browser": "^7.2.10",
    "@angular/platform-browser-dynamic": "^7.2.10",
    "@angular/router": "^7.2.10",
    "angular-froala-wysiwyg": "^2.9.3",
    "animate.css": "^3.5.2",
    "bootstrap": "^3.3.7",
    "core-js": "^2.5.4",
    "echarts": "^3.8.5",
    "font-awesome": "^4.7.0",
    "fontface-source-sans-pro": "^2.0.10-alpha1",
    "jquery": "^3.2.1",
    "ng2-file-upload": "^1.3.0",
    "ng2-select": "^2.0.0",
    "ngx-echarts": "^2.0.0",
    "ngx-modal": "^0.0.29",
    "ngx-pagination": "^3.0.3",
    "node-sass": "^4.12.0",
    "normalize.css": "^7.0.0",
    "pell": "^1.0.4",
    "roboto-fontface": "^0.8.0",
    "rxjs": "^6.4.0",
    "rxjs-compat": "^6.0.0-rc.0",
    "sweetalert2": "^7.6.3",
    "tslib": "^1.9.0",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.1001.1",
    "@angular/cli": "^10.1.1",
    "@angular/compiler-cli": "^7.2.10",
    "@angular/language-service": "^7.2.10",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "^5.2.2",
    "karma-chrome-launcher": "~2.2.0",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "^7.0.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.2.2"
  }
}

我已经尝试通过执行npm i @angular/compiler-cli命令来解决,

它给了我如下输出

+ @angular/compiler-cli@7.2.16
added 1593 packages from 1243 contributors and audited 1603 packages in 317.518s

62 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

之后我尝试执行 ng serve 仍然得到同样的错误

发生未处理的异常:找不到模块'@angular/compiler-cli/src/tooling' 需要堆栈:

【问题讨论】:

  • 您是否尝试过删除 node_modules 并执行“npm install”?
  • 是的,我尝试删除和npm install
  • 你可能需要 webpack:npmjs.com/package/webpack
  • @CirrusMinor 安装后npm install --save-dev webpack 也是同样的错误
  • 我想这是 angular 和 angular/cli 之间的版本不匹配。你单独更新了 angular/cli 吗?

标签: angular


【解决方案1】:

这是版本不匹配,只需将所有依赖项更新为npm-check-updates

npm i -g npm-check-updates
ncu -u
npm install

【讨论】:

  • 希望我能给你超过 1 个赞!这 100% 解决了我的问题
  • 只是添加到这个答案。我不得不删除 package.lock.json,删除 node_modules,然后运行命令npm cache clean --force。当我在没有列出我列出的步骤的情况下尝试上述操作时,它一直引用我认为在更新中更新的旧版本的包,并返回依赖问题。
【解决方案2】:

运行

npm 安装

在你运行之前

服务

您需要在某些终端中使用 sudo 访问权限。

【讨论】:

    猜你喜欢
    • 2020-01-21
    • 2021-06-05
    • 2021-03-26
    • 2020-05-03
    • 2020-05-22
    • 2021-08-10
    • 1970-01-01
    • 2021-09-16
    • 2022-06-23
    相关资源
    最近更新 更多