在Angular 8中出现错误:无法找到模块'@angular/compiler-cli/ngcc'

6

当我尝试从终端窗口运行ng serve时,出现了以下错误:

An unhandled exception occurred: Cannot find module '@angular/compiler-cli/ngcc'

以下是我的package.json文件。
{
  "name": "ProjectDetails",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --extract-css",
    "build": "ng build --extract-css",
    "build:ssr": "npm run build -- --app=ssr --output-hashing=media",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^5.2.0",
    "@angular/common": "^5.2.0",
    "@angular/compiler": "^5.2.0",
    "@angular/core": "^5.2.0",
    "@angular/forms": "^5.2.0",
    "@angular/platform-browser": "^5.2.0",
    "@angular/platform-browser-dynamic": "^5.2.0",
    "@angular/platform-server": "^5.2.0",
    "@angular/router": "^5.2.0",
    "@nguniversal/module-map-ngfactory-loader": "^5.0.0-beta.5",
    "aspnet-prerendering": "^3.0.1",
    "bootstrap": "^3.4.1",
    "core-js": "^2.4.1",
    "rxjs": "^5.5.6",
    "tslib": "^1.10.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.803.1",
    "@angular/cli": "^8.3.1",
    "@angular/compiler-cli": "^5.2.11",
    "@angular/language-service": "^5.2.0",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "^5.0.1",
    "jasmine-core": "~2.8.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~2.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~4.1.0",
    "tslint": "~5.9.1",
    "typescript": "~2.5.3"
  },
  "optionalDependencies": {
    "node-sass": "^4.9.0"
  }
}

我的Angular全局版本与package.json中的angular/cli版本匹配,它们都是8.3.1。以下是ng --version的图像。我尝试了下面两个命令,但仍然收到相同的错误:

npm uninstall -g @angular/cli
npm install -g @angular/cli

非常感谢您的帮助。

在这里输入图片描述

2个回答

7

运行以下操作后:

npm uninstall -g @angular/cli
npm install -g @angular/cli

请执行以下操作:

npm install

如果出现提示,“npm audit fix”,请运行它。

我在前两个命令之后立即运行了npm install命令,但仍然收到相同的错误。我还收到此消息,建议运行“npm audit fix”以修复它们,或者运行“npm audit”以获取详细信息。 - Anjali
如果提示,请运行npm audit fix。 - Yash
运行 npm update 和 ng serve,如果问题仍然存在,请再次运行 npm update 并尝试。 - Harinath

0

我认为你的问题在于版本。我的意思是,你正在使用太多不同的版本,它们可能无法很好地协同工作。

让我解释一下:

Angular CLI: 8.3.5(最新版本)

但对于cdk,一年前的版本是:“@angular/cdk”:“^6.4.2”,“@angular/common”:“^6.1.0”,

typescript:3.5.3(当时可能不存在于angular 6.4中)

尝试一下我的建议:(我曾经为旧项目苦苦挣扎)

幸运的是:只需运行ng update --all=true --force=true(查看正确语法的文档),它可能会起作用,即使它抛出一些异常,它也会提供引用有问题的指南。

通过使用“ng new projectname”创建一个新的angular项目

a. 使用“ng serve”启动您的项目。如果它正常工作,您将确信您的npm和node工作正常(这非常重要,因为它消除了许多错误的可能性)(如果不是,老实说重新安装Windows几乎是最快的方法)

b. 在拥有一个可工作的模板后,开始添加其他引用以确保您没有版本不匹配(并且不要忘记ng serve和观察输出结果)。如果出现版本不匹配,请尝试升级它们,或者如果不可能,则删除它们(如果是旧库,则必须替换它)。 c. 如果没有任何问题,那么将您的旧代码移动到这个新文件夹中,并尝试消除错误。

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