ошибка NG6002: появляется в NgModule.imports в ‹module›, но не может быть разрешена в класс NgModule

Я только что обновился с Angular 8.2 до 9.

Все работает хорошо, если я отключу ivy, но когда он включен, я получаю много ошибок, которые кажутся непонятными, по крайней мере, я не могу найти никаких результатов при поиске в Google.

Я совершенно уверен, что сделал все необходимое для обновления, то есть изменил ленивую загрузку, чтобы использовать динамический импорт и фиксированные пути импорта Angular Material и т. Д.

Я также включу сюда свои зависимости package.json

  "dependencies": {
    "@angular/animations": "^9.0.0",
    "@angular/cdk": "^9.0.0",
    "@angular/common": "^9.0.0",
    "@angular/compiler": "^9.0.0",
    "@angular/core": "^9.0.0",
    "@angular/fire": "^5.4.2",
    "@angular/flex-layout": "^9.0.0-beta.29",
    "@angular/forms": "^9.0.0",
    "@angular/http": "^7.2.15",
    "@angular/material": "^9.0.0",
    "@angular/material-moment-adapter": "^8.2.2",
    "@angular/platform-browser": "^9.0.0",
    "@angular/platform-browser-dynamic": "^9.0.0",
    "@angular/platform-server": "^9.0.0",
    "@angular/router": "^9.0.0",
    "@ngrx/effects": "^8.3.0",
    "@ngrx/entity": "^8.3.0",
    "@ngrx/router-store": "^8.3.0",
    "@ngrx/store": "^8.3.0",
    "@zxing/ngx-scanner": "^2.0.1",
    "angular-resizable-element": "^3.2.4",
    "angular-resize-event": "^1.1.1",
    "angular2-highcharts": "^0.5.5",
    "core-js": "^3.6.4",
    "detect-browser": "^4.7.0",
    "firebase": "^7.8.0",
    "google-polyline": "^1.0.3",
    "hammerjs": "^2.0.8",
    "highcharts": "^8.0.0",
    "i18n-iso-countries": "^4.3.1",
    "leaflet": "^1.5.1",
    "mapbox-gl": "^1.4.0",
    "moment": "^2.24.0",
    "moment-timezone": "^0.5.26",
    "ng-pick-datetime": "^6.0.7",
    "ngrx-store-freeze": "^0.2.3",
    "ngx-cacheable": "^1.3.2",
    "ngx-cookie-service": "^2.2.0",
    "ngx-csv": "^0.3.1",
    "ngx-file-drop": "^8.0.8",
    "ngx-infinite-scroll": "^0.8.4",
    "papaparse": "^5.0.2",
    "request": "^2.87.0",
    "request-promise": "^4.2.2",
    "rxjs": "^6.5.4",
    "rxjs-compat": "^6.3.3",
    "typescript-string-operations": "^1.3.1",
    "web-animations-js": "^2.3.2",
    "zone.js": "^0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.900.1",
    "@angular/cli": "^9.0.0",
    "@angular/compiler-cli": "^9.0.0",
    "@angular/language-service": "^9.0.0",
    "@ngrx/store-devtools": "^8.3.0",
    "@types/body-parser": "^1.17.0",
    "@types/cors": "^2.8.4",
    "@types/detect-browser": "^4.0.0",
    "@types/express": "^4.11.1",
    "@types/firebase": "^3.2.1",
    "@types/helmet": "0.0.37",
    "@types/jasmine": "^3.5.4",
    "@types/jasminewd2": "~2.0.3",
    "@types/leaflet": "^1.2.7",
    "@types/lodash": "^4.14.109",
    "@types/node": "^13.7.1",
    "@types/request": "^2.47.0",
    "@types/request-promise": "^4.1.41",
    "codelyzer": "^5.2.1",
    "concurrently": "^3.5.1",
    "del-cli": "^1.1.0",
    "jasmine-core": "^3.5.0",
    "jasmine-spec-reporter": "^4.2.1",
    "karma": "^4.4.1",
    "karma-chrome-launcher": "^3.1.0",
    "karma-cli": "^2.0.0",
    "karma-coverage-istanbul-reporter": "~1.4.2",
    "karma-jasmine": "^3.1.1",
    "karma-jasmine-html-reporter": "^1.5.2",
    "protractor": "^5.4.3",
    "puppeteer": "^2.0.0",
    "rxjs-tslint": "^0.1.7",
    "ts-node": "~5.0.1",
    "tslint": "^6.0.0",
    "typescript": "3.6.4",
    "webpack": "^4.41.6"
  },
  "peerDependencies": {
    "typescript": "3.6.4",
    "tslib": "1.10.0"
  },

И сами ошибки, которые я получаю:

введите описание изображения здесь

Я очистил свои node_modules и package-lock.json и снова запустил npm install

РЕДАКТИРОВАТЬ: возможно, также важно отметить, что он компилируется и запускается с ng serve, но когда я пытаюсь его собрать или запустить с AOT ng serve -aot, я получаю ошибки.


person raouaoul    schedule 19.02.2020    source источник


Ответы (4)


Я исправляю эту проблему, удаляя папку node_modules, а затем запускаю npm install.

person M. Sundstrom    schedule 14.05.2020

Сегодня я столкнулся с той же проблемой, и вот как я решил ее в своем сценарии.

Возможно, это не имеет отношения к вам, но ошибка точно такая же, поэтому документируется здесь.

Я использовал Linux, и эта ошибка возникает, если у вас недостаточно прав для папки проекта.

sudo chmod -R 777 <folder>

Как только я дал достаточно разрешений, все прошло гладко и все работает нормально.

Вот скриншот полученной мной ошибки:

введите описание изображения здесь

person Manoj Reddy Mettu    schedule 21.06.2020
comment
Была такая же проблема в Docker. Извлеченный урок: выполняйте npm install и ng build под тем же пользователем, которому принадлежат файлы :) - person kolypto; 24.02.2021
comment
В моем случае мне пришлось переключить fom CMD на ENTRYPOINT inisde Dockerfile. Ошибка: CMD npm run serve, работает: ENTRYPOINT ["npm", "run", "serve"]. Странный.. - person Andreas Gyr; 25.03.2021

Я исправил это, выполнив эту команду в корне проекта:

npx ngcc && ngcc -s dist
person omar berrabeh    schedule 19.02.2020
comment
к сожалению, это не сработало. Я получаю те же ошибки - person raouaoul; 19.02.2020

Ошибка ниже после установки ngx-print (https://www.npmjs.com/package/ngx-print) в моем проекте Angular (ng-version = 10.1.6) -

: Скомпилировано успешно.

ОШИБКА в node_modules / ngx-print / lib / ngx-print.module.d.ts: 1: 22 - ошибка NG6002: появляется в NgModule.imports AppModule, но не может быть разрешена в класс NgModule.

Вероятно, это означает, что библиотека (ngx-print), которая объявляет NgxPrintModule, не была правильно обработана ngcc или несовместима с Angular Ivy. Проверьте, доступна ли более новая версия библиотеки, и обновите, если таковая имеется. Также подумайте о том, чтобы узнать у авторов библиотеки, будет ли библиотека совместима с Ivy.

1 экспорт объявления класса NgxPrintModule {

Решение. Я решил эту проблему, удалив папку node_modules и package-lock.json, а затем запустив npm install.

person Pinaki    schedule 25.10.2020