Несоответствие версии метаданных с 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, я рекомендую поискать этот подход для устранения этой ошибки без миграции. Используйте утилиту исправления несоответствия для изменения версии файлов метаданных.
-
В проекте Angular 4 установите модуль исправления несоответствия, чтобы определить зависимость
npm я @jagcolombat/несоответствие исправлений --save-dev
-
Создайте файл JavaScript, например, rpmm.js, и введите следующий фрагмент кода:
const rpmm = require ('repair-mismatch'); rpmm ({modules: ['ngx-vis']});
Примечание. В этом случае я использую [email protected] (скомпилировано с Angular 6) и хочу использовать это в проекте Angular 4.
-
Запустите эту команду для изменения версии метаданных в указанных модулях (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 хорошо