簡體   English   中英

發生未處理的異常:找不到模塊'@angular/compiler-cli/ngcc'

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

我剛剛開始了我的第一份工作,並負責處理一個將要更新的舊項目。

我給了一台新電腦,所以我安裝了 node.js,Visual Studio 新版本。

正如我所提到的,我正在使用 WebStorm 上的一個舊項目,我收到了這個錯誤:

發生未處理的異常:找不到模塊'@angular/compiler-cli/ngcc'

當我搜索它時,我發現了一些與@angular/compiler-cli相關的解決方案,而不是與@angular/compiler-cli/ngcc

我試過了:

  • 擦除 Node_Module 並強制擦除緩存。
  • npm uninstall @angular/compiler-cli並重新安裝。
  • 嘗試手動更新,但沒有修復。

這是我的 package.json 文件

{
  "name": "retail-report-mobile",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "start:en": "ng serve --aot --i18nFile=src/locale/language.en.xlf --i18nFormat=xlf --locale en",
    "build": "ng build --prod --build-optimizer --aot",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^6.1.7",
    "@angular/cdk": "^6.4.2",
    "@angular/common": "^6.1.0",
    "@angular/compiler": "^6.1.0",
    "@angular/core": "^6.1.0",
    "@angular/forms": "^6.1.0",
    "@angular/http": "^6.1.0",
    "@angular/material": "^6.4.2",
    "@angular/material-moment-adapter": "^7.3.0",
    "@angular/platform-browser": "^6.1.0",
    "@angular/platform-browser-dynamic": "^6.1.0",
    "@angular/router": "^6.1.0",
    "@ngx-translate/core": "^10.0.2",
    "@swimlane/ngx-charts": "^10.0.0",
    "angular-font-awesome": "^3.1.2",
    "angular-mat-datepicker": "0.0.2",
    "angular-webstorage-service": "^1.0.2",
    "bootstrap": "^4.1.3",
    "buffer": "^5.2.1",
    "core-js": "^2.5.4",
    "devextreme": "^18.1.4",
    "devextreme-angular": "^18.1.4",
    "events": "^3.0.0",
    "font-awesome": "^4.7.0",
    "ngx-bootstrap": "^3.0.1",
    "ngx-spinner": "^6.1.2",
    "ngx-toastr": "^9.0.2",
    "ngx-translate-cache": "^0.1.0",
    "node-sass": "^4.10.0",
    "rxjs": "^6.0.0",
    "stream": "0.0.2",
    "timers": "^0.1.1",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.803.5",
    "@angular/cli": "^8.3.5",
    "@angular/compiler-cli": "^7.2.15",
    "ts-loader": "^4.0.1",
    "typescript": "^3.1.6"
  }
}

我的“npm 版本”

{ 'retail-report-mobile': '0.0.0',
  npm: '6.11.3',
  ares: '1.15.0',
  brotli: '1.0.7',
  cldr: '35.1',
  http_parser: '2.8.0',
  icu: '64.2',
  modules: '64',
  napi: '4',
  nghttp2: '1.39.2',
  node: '10.16.3',
  openssl: '1.1.1c',
  tz: '2019a',
  unicode: '12.1',
  uv: '1.28.0',
  v8: '6.8.275.32-node.54',
  zlib: '1.2.11' }

我的“ng版本”

Angular CLI: 8.3.5
Node: 10.16.3
OS: win32 x64
Angular: 6.1.10
... animations, common, compiler, core, forms, http
... platform-browser, platform-browser-dynamic, router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.803.5
@angular-devkit/build-angular      0.803.5
@angular-devkit/build-optimizer    0.803.5
@angular-devkit/build-webpack      0.803.5
@angular-devkit/core               7.3.9
@angular-devkit/schematics         7.3.9
@angular/cdk                       6.4.7
@angular/cli                       8.3.5
@angular/compiler-cli              7.2.15
@angular/material                  6.4.7
@angular/material-moment-adapter   7.3.7
@ngtools/webpack                   8.3.5
@schematics/angular                8.3.4
@schematics/update                 0.803.5
rxjs                               6.5.3
typescript                         3.5.3
webpack                            4.39.2

我的錯誤日志

[error] Error: Cannot find module '@angular/compiler-cli/ngcc'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (C:\Users\***\Desktop\***\***\node_modules\@ngtools\webpack\src\ngcc_processor.js:10:16)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (C:\Users\***\Desktop\***\***\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:23:26)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)

已經對任何語法錯誤感到抱歉,並感謝您的幫助。

我認為您的問題出在您的版本上。 我的意思是你使用了這么多不同的版本,它們不能很好地協同工作

讓我解釋:

Angular CLI:8.3.5(最新版本)

但對於 cdk,1 年前:“@angular/cdk”:“^6.4.2”,“@angular/common”:“^6.1.0”,

typescript:3.5.3(當 angular 6.4 存在時可能不存在)

試試我的建議:(我在舊項目上掙扎了很多次)

  1. 幸運的一槍:只需運行 ng update --all=true --force=true (查看文檔以獲取正確的語法)

它可能會起作用,但即使它拋出一些異常,它也會提供參考有問題的指南)

  1. 使用“ng new projectname”創建一個新的 angular 項目

一個。 使用 ng serve 開始你的項目

如果它工作正常,您將確定您的 npm 和節點工作正常(這非常重要,因為它消除了很多錯誤的可能性)(如果沒有,老實說重新安裝 windows 幾乎是最快的方法)

灣。 有了工作模板后,只需開始添加其他引用以確保您沒有版本不匹配(並且不要忘記 ng serve 並觀看 output 結果)

如果您的版本不匹配,請嘗試升級它們,或者如果無法刪除它們(如果它是舊庫,則無論如何都必須替換它)

c。 如果它沒有問題,然后將您的舊代碼發送到這個新文件夾並嘗試刪除您的錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM