我刚刚开始我的第一份工作,并负责处理一个将要更新的旧项目。
我给了一台新计算机,所以我安装了Node.js和Visual Studio新版本。
正如我提到的,我正在WebStorm上处理一个旧项目,但出现此错误:
发生未处理的异常:找不到模块'@ angular / compiler-cli / ngcc'
搜索时,我发现一些与@angular/compiler-cli
相关的解决方案,而不是@angular/compiler-cli/ngcc
。
我尝试过:
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)
对于任何语法错误,我们深表歉意,感谢您的帮助。
答案 0 :(得分:3)
我认为您的问题出在您的版本上。 我的意思是您使用的版本太多,它们无法很好地配合使用
让我解释一下:
Angular CLI:8.3.5(最新版本)
但对于cdk,为1年前: “ @ angular / cdk”:“ ^ 6.4.2”, “ @ angular / common”:“ ^ 6.1.0”,
打字稿:3.5.3(角度为6.4时可能不存在)
尝试我的建议:(我在旧项目中挣扎了很多次)
它可能会起作用,但是即使抛出一些异常,它也会提供引用有问题的指南)
a。使用ng serve开始您的项目
如果工作正常,您将确保您的npm和node工作正常(这非常重要,因为它消除了很多错误可能性) (如果没有,诚实地重新安装Windows几乎是最快的方法)
b。有了有效的模板后,只需开始添加其他参考,以确保您没有版本不匹配(也不要忘记服务和观看输出结果)
如果版本不匹配,请尝试对其进行升级,或者如果无法删除,请删除它们(如果它是旧库,则无论如何都必须替换它)
c。如果没有问题,则将您的旧代码发送到此新文件夹,并尝试删除错误
答案 1 :(得分:0)
构建esm模块时,我遇到了相同的NGCC错误。我已经解决了这一问题,只需将compilerOptions
的{{1}}中的tsconfig.json
的目标从es5
更改为es2015