升级Angular和项目后找不到编译器ngcc模块 [英] can't find compiler ngcc module after upgrading Angular and project

查看:24
本文介绍了升级Angular和项目后找不到编译器ngcc模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚将 Angular cli 和我的一个项目从 7.0.7 升级到 7.1.0.

I've just upgraded Angular cli and one of my project from 7.0.7 to 7.1.0.

我已经关注了这篇文章@Francesco Borzi 的回答.

现在我尝试使用以下方法运行我的项目:

now I've tried running my project using:

ng serve --proxy-config proxy.conf.json

收到这条消息

找不到模块'@angular/compiler-cli/ngcc' 错误:找不到

Cannot find module '@angular/compiler-cli/ngcc' Error: Cannot find

模块'@angular/compiler-cli/ngcc'

module '@angular/compiler-cli/ngcc'

at Function.Module._resolveFilename (internal/modules/cjs/loader.js:649:15)

at Function.Module._load (internal/modules/cjs/loader.js:575:25)

at Module.require (internal/modules/cjs/loader.js:705:19)

at require (internal/modules/cjs/helpers.js:14:16)

at Object.<anonymous> (/Users/path/myproject/node_modules/@ngtools/webpack/src/ngcc_processor.js:10:16)

at Module._compile (internal/modules/cjs/loader.js:799:30)

at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)

at Module.load (internal/modules/cjs/loader.js:666:32)

at tryModuleLoad (internal/modules/cjs/loader.js:606:12)

at Function.Module._load (internal/modules/cjs/loader.js:598:3)

at Module.require (internal/modules/cjs/loader.js:705:19)

at require (internal/modules/cjs/helpers.js:14:16)

at Object.<anonymous> (/Users/path/myproject/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:23:26)

at Module._compile (internal/modules/cjs/loader.js:799:30)

at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)

at Module.load (internal/modules/cjs/loader.js:666:32)

这是我的package.json

{
  "name": "myproject",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~7.0.0",
    "@angular/cdk": "7.3.7",
    "@angular/common": "~7.0.0",
    "@angular/compiler": "~7.0.0",
    "@angular/core": "~7.0.0",
    "@angular/forms": "~7.0.0",
    "@angular/http": "~7.0.0",
    "@angular/material": "^7.3.7",
    "@angular/platform-browser": "~7.0.0",
    "@angular/platform-browser-dynamic": "~7.0.0",
    "@angular/router": "~7.0.0",
    "angular": "^1.7.8",
    "bootstrap": "^4.3.1",
    "core-js": "^2.5.4",
    "font-awesome": "^4.7.0",
    "hammerjs": "^2.0.8",
    "jquery": "1.9.1",
    "ngx-gallery": "^5.9.1",
    "popper.js": "^2.0.0-next.4",
    "rxjs": "~6.3.3",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.800.1",
    "@angular/cli": "^8.0.1",
    "@angular/compiler-cli": "~7.0.0",
    "@angular/language-service": "~7.0.0",
    "@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": "~3.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.1.1"
  }
}

推荐答案

在 package.json 文件中,将 devDependencies 中的@angular/cli 版本更改为:

In your package.json file, change the @angular/cli version in devDependencies to:

"@angular/cli": "7.1.0"

您的项目和 devDependency 之间存在版本不匹配.您可能使用了 npm audit fix --force 或类似的自动更新命令,这些命令可能已更新package.json"文件中的 devDependencies.

There is a version mismatch between your project and the devDependency. You might have probably used npm audit fix --force or a similar auto update command, which might have updated the devDependencies in "package.json" file.

您还可以在此处的 devDependencies 中使用 angular cli 版本 7.3.5.只需确保开发版本和 devDependencies 中提到的版本兼容.请注意,本地 anglular/cli 版本在这里并不重要.

You can also use angular cli version 7.3.5 in devDependencies here. Just make sure that the development version and the version mentioned in devDependencies are compatible. Be aware that local anglular/cli version doesn't really matter here.

更新:进行更改后,删除package-lock.json"并删除node modules"文件夹.运行 npm install 再次安装模块.

Update: After making the change, delete "package-lock.json" and delete the "node modules" folder. Run npm install to install the modules again.

这篇关于升级Angular和项目后找不到编译器ngcc模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆