发生未处理的异常:无法在ng serve中找到模块“@angular/compiler-cli”

13

我已经把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' 必需的堆栈:


1
你尝试过删除 node_modules 并执行 "npm install" 吗? - Cirrus Minor
是的,我尝试过删除并使用 npm install - Jeb
你可能需要使用webpack: https://www.npmjs.com/package/webpack - Cirrus Minor
@CirrusMinor 在执行 npm install --save-dev webpack 安装后,仍然出现相同的错误。 - Jeb
3
我猜测这可能是Angular和Angular/CLI版本不匹配引起的。你只更新了Angular/CLI吗?请确认版本是否一致。 - Cirrus Minor
2个回答

30

版本不匹配,请使用npm-check-updates更新所有依赖项。

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

4
希望我能给你多于一个赞!这完全解决了我的问题。 - gh9
2
只是为了补充这个答案。我不得不删除 package.lock.json,删除 node_modules,并运行命令npm cache clean --force。当我尝试上述步骤而没有列出的步骤时,它一直引用我认为已经在更新中更新的旧版本包,并且出现依赖项问题。 - Patrick McDermott

-6

在运行

ng serve

之前,请先运行

npm install

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接