Несоответствие версии метаданных с Angular 4

Я работаю над приложением Angular 4 и получаю ниже ошибку с командой "npm start" -

ОШИБКА в несоответствии версии метаданных для модуля C:/gitRepo/gmdias/gmdais-интерфейс/ node_modules/@angular/animations/browser/browser.d.ts, найденная версия 4, ожидаемая 3, разрешение символа ɵf в C:/gitRepo/gmdias/gmdais-интерфейс/node_modules/@angular/platform-browser/animations/index.d.ts, разрешающий символ BrowserAnimationsModule в C:/gitRepo/gmdias/gmdais-интерфейс/node_modules/@angular/platform-browser/animations/index.d.ts, разрешающий символ BrowserAnimationsModule в C:/gitRepo/gmdias/gmdais-интерфейс/node_modules/@angular/platform-browser/animations/index.d.ts

вот мой файл package.json

{
  "name": "nucleus-web",
  "version": "1.0.0",
  "license": "MIT",
  "scripts": {
    "transpile": "ngc",
    "package": "rollup -c",
    "minify": "uglifyjs dist/bundles/datatable.umd.js --screw-ie8 --compress --mangle --comments --output dist/bundles/datatable.min.js",
    "build": "npm run transpile && npm run package && npm run minify && ng build",
    "ng": "ng",
    "start": "ng serve",
    "postinstall": "ng build",
    "test": "sh build.sh"
  },
  "private": true,
  "peerDependencies": {
    "@angular/core": "^4.0.1"
  },
  "dependencies": {
    "@angular/animations": "^5.0.0",
    "@angular/cdk": "^2.0.0-beta.12",
    "@angular/common": "^4.0.1",
    "@angular/compiler": "^4.0.0",
    "@angular/core": "^4.0.1",
    "@angular/forms": "^4.0.1",
    "@angular/http": "^4.0.0",
    "@angular/material": "^2.0.0-beta.12",
    "@angular/platform-browser": "^4.2.5",
    "@angular/platform-browser-dynamic": "^4.0.1",
    "@angular/platform-server": "^4.4.4",
    "@angular/router": "^4.0.0",
    "@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.5",
    "bootstrap": "3.3.7",
    "core-js": "^2.4.1",
    "font-awesome": "^4.7.0",
    "jquery": "^3.2.1",
    "lodash": "^4.17.4",
    "ng2-file-upload": "^1.2.1",
    "ng2-toastr": "^4.1.2",
    "ngx-bootstrap": "^1.7.1",
    "ngx-treeview": "1.2.3",
    "ngx-webstorage": "^1.8.0",
    "rxjs": "^5.1.0",
    "zone.js": "^0.8.12"
  },
  "devDependencies": {
    "@angular/cli": "1.0.3",
    "@types/jasmine": "2.5.38",
    "@types/jquery": "^3.2.15",
    "@types/node": "~8.0.33",
    "codelyzer": "~2.0.0",
    "jasmine-core": "~2.5.2",
    "jasmine-spec-reporter": "~3.2.0",
    "karma": "~1.4.1",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^0.2.0",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.0",
    "ts-node": "~3.3.0",
    "tslint": "~4.5.0",
    "@angular/compiler": "^4.4.4",
    "@angular/compiler-cli": "^4.4.4",
    "rollup": "^0.50.0",
    "typescript": "^2.5.3",
    "uglify-js": "^3.1.3"
  },
  "repository": {
    "type": "git",
    "url": "ssh://[email protected]/stash/scm/pzn/gmdais-frontend.git"
  }
}

Ответ 1

Ваш @angular/animations находится на версии 5.x.x, а другие пакеты @angular/ находятся на 4.x.x. Все пакеты @angular/* должны быть выровнены, т.е. Иметь тот же самый номер версии приложения, который сможет скомпилировать.

Конкретная ошибка, которую вы получаете, исходит из файлов .metadata.json, у которых есть поле "version" внутри. @angular/*@4.x.x использует версию 3 и @angular/*@5.x.x использует версию 4 (пока).

Ответ 2

Проблема решена:Просто запустите эту команду в терминале в каталоге вашего проекта:

npm install @angular/[email protected]'^5.0.0' @angular/[email protected]'^5.0.0' @angular/[email protected]'^5.0.0' @angular/[email protected]'^5.0.0' @angular/[email protected]'^5.0.0' @angular/[email protected]'^5.0.0' @angular/[email protected]'^5.0.0' @angular/[email protected]'^5.0.0' @angular/[email protected]'^5.0.0' @angular/[email protected]'^5.0.0' @angular/[email protected]'^5.0.0' [email protected] [email protected]'^5.5.2'

Эта команда в основном обновляет различные модули angular до версии 5.

Синтаксис:

npm install @ angular/ moduleName '^ 5.0.0'

Ответ 3

У меня такая же проблема при обновлении angular от 4 до 5. Проблема заключалась в том, что я обновил только свои зависимости prod, но забыл также обновлять зависимости dev.

Ответ 4

Мы получили аналогичную проблему в одном из наших проектов. В файле package.json для некоторых модулей с проблемами совместимости с Angular 4 и Angular 5

Пример в package.json

  "@ng-bootstrap/ng-bootstrap": "1.0.0",

Показывать проблемы при сборке/компиляции кода, если у проекта нет Angular 5 совместимых модулей. Поэтому для устранения таких проблем нам необходимо определить совместимую версию с Angular 4 и выполнить ручную установку с помощью следующей команды

 npm install @ng-bootstrap/[email protected] --save

Аналогично, нам нужно проверить наш проект / Node совместимая версия модулей должна быть обновлена ​​в нашем пакете. json

Этот метод решает наши проблемы. Пожалуйста, попробуйте таким образом

Ответ 5

Мое решение состояло в том, чтобы понизить пакет, который вызывал ошибку. Сначала я должен был найти, какая версия пакета имела более низкую версию метаданных. Для этого я запустил новую тестовую папку и установил разные версии своего плагина, пока не нашел ту, которая имела "version":3 в index.metadata.json

mkdir test_1
cd test_1
npm init
npm install @ionic-native/[email protected]

В моем случае 4.3.3 была последней версией до того, как они обновились до Angular 5 (метаданные версии 4)

В конце концов, тем не менее, для тех, кто использует Ionic, мне все равно пришлось обновиться до ionic 3.9.2, чтобы решить и эти проблемы.

Ответ 6

Вы можете попробовать это:

npm audit fix

а потом

npm install

Это помогло мне!

Ответ 7

Если по какой-то причине (по времени) вы не можете обновить свой проект Angular 4 до Angular 5, я рекомендую поискать этот подход для устранения этой ошибки без миграции. Используйте утилиту исправления несоответствия для изменения версии файлов метаданных.

  1. В проекте Angular 4 установите модуль исправления несоответствия, чтобы определить зависимость

    npm я @jagcolombat/несоответствие исправлений --save-dev

  2. Создайте файл JavaScript, например, rpmm.js, и введите следующий фрагмент кода:

    const rpmm = require ('repair-mismatch'); rpmm ({modules: ['ngx-vis']});

Примечание. В этом случае я использую [email protected] (скомпилировано с Angular 6) и хочу использовать это в проекте Angular 4.

  1. Запустите эту команду для изменения версии метаданных в указанных модулях (ngx-vis):

    узел rpmm.js

Для более подробной информации читайте эту статью:

https://medium.com/@tonytunes2005/solving-error-mismatch-beetwen-angular-versions-b051e7cde418

Ответ 8

Получаете эту ошибку?

Ошибка: ошибка версии метаданных для модуля E: /SanthoshRaj-Work/Angular/clientpanel/node_modules/@angular/fire/index.d.ts, найдена версия 4, ожидается 3, разрешение символа AppModule в E: /SanthoshRaj-Work/Angular/clientpanel/src/app/app.module.ts, разрешение символа AppModule в E: /SanthoshRaj-Work/Angular/clientpanel/src/app/app.module.ts, разрешение символа AppModule в E: /SanthoshRaj-Work/Angular/clientpanel/src/app/app.module.ts в syntaxError (E:\SanthoshRaj-Work\Angular\clientpanel\node_modules @angular\compiler\bundles\compiler.umd.js: 1729: 34) в simpifyInContext (E :\SanthoshRaj-Work\Angular\clientpanel\node_modules @angular\compiler\bundles\compiler.umd.js: 24979: 23) в StaticReflector.simplify(E:\SanthoshRaj-Work\Angular\clientpanel\node_modules @угловой\compiler\bundles\compiler.umd.js: 24991:13) в StaticReflector.annotations(E:\SanthoshRaj-Work\Angular\clientpanel\node_modules @angular\compiler\bundles\compiler.umd.js: 24418: 41) в _getNgModuleMetadata (E :\SanthoshRaj-Work\Ап gular\clientpanel\node_modules @angular\compiler-cli\src\ngtools_impl.js: 138: 31) в _extractLazyRoutesFromStaticModule (E:\SanthoshRaj-Work\Angular\clientpanel\node_modules @угловой\compiler-cli\simp\n:\n 109: 26) в Object.listLazyRoutesOfModule(E:\SanthoshRaj-Work\Angular\clientpanel\node_modules @angular\compiler-cli\src\ngtools_impl.js: 53: 22) в Function.NgTools_InternalApi_NG_2.listLazy-hosh (Eж Работа \Angular\clientpanel\node_modules @angular\compiler-cli\src\ngtools_api.js: 91: 39) в AotPlugin._getLazyRoutesFromNgtools (E:\SanthoshRaj-Work\Angular\clientpanel\node_modules @ngtools\webpack\sr. js: 212: 44) в _donePromise.Promise.resolve.then.then.then.then.then(E:\SanthoshRaj-Work\Angular\clientpanel\node_modules @ngtools\webpack\src\plugin.js: 448: 24) at process.internalTickCallback(internal/process/next_tick.js: 77: 7)

Выполните следующие шаги:

Шаг 1: Вам необходимо обновить Angular версии 4 до Angular версии 5. что это, это работает нормально для меня.

Шаг 2: Установите все нижеуказанные зависимости

npm install @angular/animations @'^ 5.0.0' @angular/common @'^ 5.0.0' @angular/compiler @'^ 5.0.0' @angular/compiler-cli @'^ 5.0.0' @angular/[email protected]'^5.0.0 '@angular/forms @' ^ 5.0.0 '@angular/http @' ^ 5.0.0 '@angular/platform-browser @' ^ 5.0.0 '@angular/platform-browser [email protected]'^5.0.0 '@angular/platform-server @' ^ 5.0.0 '@angular/router @' ^ 5.0.0 '[email protected] [email protected]'^5.5.2'

Благодарю.

Ответ 9

открыть в папке проекта node_modules/@angular/анимация внутри файла анимации animations.metadata.json, вы меняете версию 4 на 3.works хорошо