Angular 8 ng build --prod error Ошибка в TypeError: Невозможно прочитать свойство 'flags' из undefined - PullRequest
0 голосов
/ 05 марта 2020

Вопрос 1) Я пытаюсь сделать сборку в моей недавно обновленной angular форме приложения с 4.4 по 8, но, столкнувшись с этой ошибкой, я попробовал все на net, который предлагает удалить модули узлов и переустановка, но ничего не помогает.

Требуется дополнительная помощь : - Также, как вы видите, у меня установлено много пакетов, и было бы замечательно, если бы кто-то предложил, как удалить / удалить неиспользуемые пакеты.

 ERROR in TypeError: Cannot read property 'flags' of undefined
        at checkUnreachable (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:30043:31)
        at bindChildrenWorker (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:27983:17)
        at bindChildren (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:27939:17)
        at bind (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:29249:21)
        at bindSourceFile (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:27536:17)
        at Object.bindSourceFile (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:27477:9)
        at initializeTypeChecker (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:58859:20)
        at Object.createTypeChecker (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:31761:9)
        at getDiagnosticsProducingTypeChecker (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:88970:93)
        at C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:89097:35
        at runWithCancellationToken (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:89070:24)
        at getSemanticDiagnosticsForFileNoCache (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:89093:20)
        at getAndCacheDiagnostics (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:89341:26)
        at getSemanticDiagnosticsForFile (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:89090:20)
        at getDiagnosticsHelper (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:89032:24)
        at Object.getSemanticDiagnostics (C:\code base\latitude-angular-upgrade-v3\node_modules\typescript\lib\typescript.js:89045:20)

Вот мой пакет. json для справки

{
  "name": "prep-ui",
  "version": "0.18.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "node --max_old_space_size=8048 ./node_modules/@angular/cli/bin/ng serve",
    "build": "set NODE_OPTIONS=--max_old_space_size=4096 && ng build --prod",
    "build_major": "webpack --env.major",
    "build_minor": "webpack --env.minor",
    "test": "karma start ./karma.conf.js",
    "lint": "ng lint",
    "e2e": "protractor ./protractor.conf.js",
    "pree2e": "webdriver-manager update --standalone false --gecko false --quiet",
    "build_prod_major:prod": "npm run build_major --env.NODE_ENV=production",
    "build:dev": "npm run build_minor --env.NODE_ENV=development",
    "build:prod": "npm run build_minor --env.NODE_ENV=production",
    "build:aws-dev": "npm run build_minor --env.NODE_ENV=aws-dev",
    "build:aws-qa": "npm run build_minor --env.NODE_ENV=aws-qa",
    "build:aws-stg": "npm run build_minor --env.NODE_ENV=aws-stg",
    "build:aws-prep-uat": "npm run build_minor --env.NODE_ENV=aws-prep-uat",
    "build:aws-prod-irmr-dev": "npm run build_minor --env.NODE_ENV=aws-prod-irmr-dev",
    "build:irmr-prod": "npm run build_minor --env.NODE_ENV=irmr-prod",
    "build:irmr-uat": "npm run build_minor --env.NODE_ENV=irmr-uat",
    "build:latitude-dev": "npm run build_minor --env.NODE_ENV=latitude-dev"
  },
  "private": true,
  "dependencies": {
    "@angular-builders/custom-webpack": "^9.0.0",
    "@angular/animations": "^8.1.1",
    "@angular/cdk": "^8.1.0",
    "@angular/common": "^8.1.1",
    "@angular/compiler": "^8.2.14",
    "@angular/core": "^8.1.1",
    "@angular/flex-layout": "^8.0.0-beta.26",
    "@angular/forms": "^8.1.1",
    "@angular/material": "^8.0.2",
    "@angular/platform-browser": "^8.1.1",
    "@angular/platform-browser-dynamic": "^8.1.1",
    "@angular/platform-server": "^9.0.5",
    "@angular/router": "^8.1.1",
    "@ng-bootstrap/ng-bootstrap": "^5.2.1",
    "@ngtools/webpack": "^1.8.0",
    "@ngx-translate/core": "^11.0.0",
    "@ngx-translate/http-loader": "^4.0.0",
    "@types/highcharts": "5.0.27",
    "@types/jquery": "^3.3.6",
    "@types/jsdom": "^12.2.4",
    "@types/knockout": "^3.4.54",
    "@types/lodash": "^4.14.136",
    "@types/parse5": "^5.0.1",
    "angular-calendar": "^0.28.2",
    "angular-highcharts": "^4.1.0",
    "angular2-http-file-upload": "^1.0.6",
    "bootstrap": "^4.4.1",
    "childnode-remove": "^1.0.1",
    "classlist.js": "^1.1.20150312",
    "core-js": "^2.4.1",
    "date-fns": "^2.9.0",
    "file-saver": "^1.3.3",
    "google-libphonenumber": "^3.2.3",
    "hammerjs": "^2.0.8",
    "highcharts": "^8.0.2",
    "highcharts-angular": "^2.4.0",
    "html-loader": "^0.5.5",
    "html-webpack-externals-plugin": "^3.8.0",
    "inputmask": "^4.0.8",
    "intl-tel-input": "^12.1.5",
    "jquery": "^3.4.1",
    "jquery-bar-rating": "^1.2.2",
    "libphonenumber-js": "^0.4.48",
    "lodash": "^4.17.15",
    "moment": "^2.24.0",
    "moment-timezone": "^0.5.14",
    "ng-sidebar": "^6.0.2",
    "ng2-completer": "^1.6.3",
    "ng2-nouislider": "^1.7.7",
    "ng2-table": "^1.3.2",
    "ngx-bootstrap": "^5.3.2",
    "ngx-filter-pipe": "^1.0.0",
    "ngx-order-pipe": "^1.0.3",
    "ngx-select-dropdown": "^0.7.0",
    "ngx-select-ex": "^3.5.2-ng4",
    "ngx-webstorage": "^4.0.1",
    "nouislider": "^9.2.0",
    "npm-check-unused": "^6.0.0",
    "print-js": "^1.0.47",
    "rxjs": "^6.5.2",
    "rxjs-compat": "^6.0.0-rc.0",
    "select2": "^4.0.6-rc.1",
    "showdown": "^1.7.5",
    "source-map": "^0.5.7",
    "survey-angular": "^1.0.75",
    "survey-knockout": "^1.0.75",
    "surveyjs-widgets": "^1.0.75",
    "ts-loader": "^6.2.1",
    "tslib": "^1.9.0",
    "webpack": "^4.8.3",
    "webpack-cli": "^3.3.6",
    "webpack-war-plugin": "^1.0.0-beta.3",
    "wnumb": "^1.1.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.803.23",
    "@angular/cli": "^8.1.1",
    "@angular/compiler-cli": "^8.1.1",
    "@angular/language-service": "^8.1.1",
    "@ngui/scrollable": "^0.9.1",
    "@types/highcharts": "^5.0.5",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/knockout": "^3.4.53",
    "@types/node": "~6.0.60",
    "autoprefixer": "^6.5.3",
    "circular-dependency-plugin": "^3.0.0",
    "clean-webpack-plugin": "^0.1.16",
    "codelyzer": "^5.0.1",
    "copy-webpack-plugin": "^5.1.1",
    "css-loader": "^3.4.2",
    "cssnano": "^4.1.10",
    "exports-loader": "^0.6.3",
    "file-loader": "^0.10.0",
    "grunt-contrib-copy": "^1.0.0",
    "grunt-typescript": "^0.8.0",
    "html-webpack-plugin": "^3.2.0",
    "istanbul-instrumenter-loader": "^2.0.0",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "^4.4.1",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "less-loader": "^4.0.5",
    "postcss-loader": "^3.0.0",
    "postcss-url": "^9.0.0",
    "protractor": "^6.0.0",
    "raw-loader": "^0.5.1",
    "sass-loader": "^6.0.3",
    "script-loader": "^0.7.0",
    "source-map-loader": "^0.2.0",
    "style-loader": "^0.13.2",
    "stylus-loader": "^3.0.1",
    "ts-node": "~3.2.0",
    "tslint": "^5.18.0",
    "typescript": "3.4.5",
    "uglifyjs-webpack-plugin": "^0.4.6",
    "webpack": "^4.8.3",
    "webpack-auto-inject-version": "^1.2.2"
  }
}

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

npm обновление У меня работает, просто попробуйте это будет работать

0 голосов
/ 05 марта 2020

Вместо того, чтобы пытаться решать подобные проблемы вне вашего собственного кода, иногда проще просто создать новый пустой проект и скопировать ваши источники из старого проекта:

  • Создать новый , пустой Angular 8 проект.
  • Скопируйте ваши источники из старого проекта в новый проект. В основном это ваш каталог /src.
  • Проверьте код на наличие дополнительных зависимостей и установите дополнительные пакеты, используя npm install или ng add.
  • Если вы внесли изменения в любой файл конфигурации вручную, например angular.json, вам необходимо соответствующим образом изменить файл конфигурации в новом проекте. Я не рекомендую просто копировать эти файлы из старого проекта, потому что структура или содержание могут отличаться для новых версий Angular.
  • Сборка вашего проекта.

Конечно вы все равно можете получить ошибки в своем собственном коде, если Angular API изменились. Вам необходимо соответствующим образом изменить свой код.

...