После установки углового материала и добавления углового импорта материала в app.module.ts в проект у меня возникли ошибки, и все решения пока не работали. У меня угловой 14, узел 16. Первая ошибка, которая на самом деле намного длиннее:
Error: node_modules/@angular/cdk/a11y/index.d.ts:152:18 - error TS2707: Generic type 'ɵɵDirectiveDeclaration' requires between 6 and 8 type arguments.
152 static ɵdir: i0.ɵɵDirectiveDeclaration<CdkAriaLive, "[cdkAriaLive]", ["cdkAriaLive"], { "politeness": "cdkAriaLive"; "duration": "cdkAriaLiveDuration"; }, {}, never, never, false, never>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@angular/cdk/a11y/index.d.ts:175:18 - error TS2707: Generic type 'ɵɵDirectiveDeclaration' requires between 6 and 8 type arguments.
175 static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMonitorFocus, "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", ["cdkMonitorFocus"], {}, { "cdkFocusChange": "cdkFocusChange"; }, never, never, false, never>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@angular/cdk/a11y/index.d.ts:208:18 - error TS2707: Generic type 'ɵɵDirectiveDeclaration' requires between 6 and 8 type arguments.
208 static ɵdir: i0.ɵɵDirectiveDeclaration<CdkTrapFocus, "[cdkTrapFocus]", ["cdkTrapFocus"], { "enabled": "cdkTrapFocus"; "autoCapture": "cdkTrapFocusAutoCapture"; }, {}, never, never, false, never>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@angular/cdk/bidi/index.d.ts:37:18 - error TS2707: Generic type 'ɵɵDirectiveDeclaration' requires between 6 and 8 type arguments.
37 static ɵdir: i0.ɵɵDirectiveDeclaration<Dir, "[dir]", ["dir"], { "dir": "dir"; }, { "change": "dirChange"; }, never, never, false, never>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
"name": "highlight",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test"
},
"private": true,
"dependencies": {
"@angular/animations": "^14.2.4",
"@angular/cdk": "^15.0.0",
"@angular/common": "^14.2.4",
"@angular/compiler": "^14.2.4",
"@angular/core": "^14.2.4",
"@angular/forms": "^14.2.4",
"@angular/material": "^15.0.0",
"@angular/platform-browser": "^14.2.4",
"@angular/platform-browser-dynamic": "^14.2.4",
"@angular/router": "^14.2.4",
"@fortawesome/angular-fontawesome": "^0.11.1",
"@fortawesome/fontawesome-svg-core": "^6.2.0",
"@fortawesome/free-solid-svg-icons": "^6.2.0",
"@ng-bootstrap/ng-bootstrap": "^13.0.0",
"@popperjs/core": "^2.11.6",
"@syncfusion/ej2-angular-calendars": "^20.3.56",
"apexcharts": "^3.36.3",
"bootstrap": "^5.2.2",
"jwt-decode": "^3.1.2",
"ng-apexcharts": "^1.7.4",
"rxjs": "~6.6.0",
"tslib": "^2.3.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "^14.2.4",
"@angular/cli": "^14.2.4",
"@angular/compiler-cli": "^14.2.4",
"@angular/localize": "^14.2.4",
"@types/jasmine": "~3.8.0",
"@types/node": "^12.11.1",
"jasmine-core": "~3.8.0",
"karma": "~6.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "~1.7.0",
"typescript": "4.7"
}
}
Я пытался удалить node_modules, .angular и установку npm. Не работает. Затем я попытался переустановить материал angular - npm install --save @angular/material @angular/cdk - выдал ошибку, но другую. Я подозреваю, что это показывает более ясную причину моей фактической ошибки. Как было предложено в ошибке, я попробовал команды npm install --legacy-peer-deps, --force, npm install --save --legacy-peer-deps, не сработало. Может быть у кого-то больше опыта и он признает проблему?
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: [email protected]
npm ERR! Found: @angular/[email protected]
npm ERR! node_modules/@angular/common
npm ERR! @angular/common@"^14.2.4" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer @angular/common@"^15.0.0 || ^16.0.0" from @angular/[email protected]
npm ERR! node_modules/@angular/cdk
npm ERR! @angular/cdk@"^15.0.0" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
Мой результат ng v:
Angular CLI: 14.2.10
Node: 16.10.0
Package Manager: npm 7.24.0
OS: darwin x64
Angular: 14.2.12
... animations, common, compiler, compiler-cli, core, forms
... localize, platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1402.10
@angular-devkit/build-angular 14.2.10
@angular-devkit/core 14.2.10
@angular-devkit/schematics 14.2.10
@angular/cdk 15.0.1
@angular/cli 14.2.10
@angular/material 15.0.1
@schematics/angular 14.2.10
rxjs 6.6.7
typescript 4.7.4
@ShilpiJaiswal нет, пока единственным решением является не использовать угловой материал: D, но это мой проект для портфолио, поэтому мне нужно будет найти решение, и когда я это сделаю, я дам вам знать. Пока я подозреваю, что моя проблема связана с последней ошибкой, которую я достиг, переустановив угловой материал, но предложенное решение --legacy-peer-deps и другие решения, которые я нашел до сих пор в stackoverflow, не помогли. По крайней мере, это была другая ошибка :D
Я столкнулся с этой ошибкой для нескольких библиотек, которые были решены после установки каждой зависимости по одной, например, npm install @angular/router14 --save --legacy-peer-deps, но одна ошибка, которую я не могу преодолеть для ng-cirlce-progress
У меня точно такая же проблема, и она началась, казалось бы, случайно, без изменения каких-либо зависимостей от конвейера сборки. Я использую Angular 14.1.0, то же самое с материалом, то же самое с CDK. Я вижу, что это проявляется как: Ошибка: node_modules/ng2-charts/lib/base-chart.directive.d.ts:40:18 - ошибка TS2707: универсальный тип 'ɵɵDirectiveDeclaration' требует от 6 до 8 аргументов типа. 40 static ɵdir: i0.ɵɵDirectiveDeclaration<BaseChartDirective<любой, любой, любой>, "canvas[baseChart]",
@KarlBrown, как показано ниже, для меня было решением только обновление до angular 15.
У меня были эти проблемы, но я запускал ng build --watch. Как только я убил часы и перезапустил, ошибки исчезли. Я также использовал npm i @angular/cdk@14, так как я использую Angular 14. HTH.





Я нашел ВРЕМЕННОЕ решение, у меня была такая же ошибка, и я зашел внутрь node_modules и прокомментировал строки ошибок.
В моем случае это был один комментарий в node_modules/@angular/cdk/bidi/index.d.ts и еще пара в node_modules/@angular/cdk/scrolling/index.d.ts, хотя я не знаю, что вызвало эту ошибку, и я не знаю, вызовет ли комментирование этих строк проблемы в будущем, необходимо изучить это подробнее.
Была такая же проблема. Используйте ngrx/component 14.3.2, если вы используете Angular 14. Или обновите напрямую до Angular 15.
Большое спасибо. Для справки - в моем случае работало только обновление до angular 15. Мои шаги - я попробовал первый вариант -> npm i @ngrx/[email protected] Не сработало. Затем, чтобы использовать angular 15, мне понадобился node js версии 16.13 -> nvm install 16.13 и typescript версии 4.8 -> изменить package.json "typescript": "4.8" и запустить npm install. Затем осталось ng update @angular/core@15 @angular/cli@15 и ng update @angular/material@15, потому что у меня уже был установлен материал angular. Кажется, что у datepicker есть некоторые проблемы с появлением, но пока другие компоненты работают.
Отлично, что это работает для вас. @ngrx/[email protected] у вас не работает, потому что вы используете cdk & material версии 15.
У меня возникла проблема с OP, и я установил v14.3.2 ngrx/component, как указано выше. Не устранил проблему. Хорошая новость — я запускал ng build --watch. Как только я перезапустил это, он построился без каких-либо проблем! Я не думаю, что ng build --watch должен был пережить новые установки npm.
Я также столкнулся с точной проблемой, я просто сначала обновляю свой NodeJS (с 16 до 18 с официального сайта NodeJS), позже мне также нужно обновить ядро angular cli/angular с версии 14 до 15. команда: -ng update @angular/cli @angular/core --allow-dirty --force Мне нужно поставить --allow-dirty --force, потому что я получаю эту ошибку: - Ошибка: Репозиторий не чист. Пожалуйста, зафиксируйте или спрячьте любые изменения перед обновлением. и мое приложение снова начинает работать ожидаемо.
После всего, моя проблема была решена, и мое приложение снова начало работать ожидаемо.
Спасибо, к счастью, я уже обновился до angular 15 и сделал шаги, указанные ниже, поэтому я не могу попробовать ваш вариант, но он может быть очень полезен для кого-то!
В моем случае это решилось применением этой команды:
ng update @angular/cli @angular/core --allow-dirty --force
Затем удалите символ «~» из стилей, если он есть:
Заменить @import "~@coreui/coreui-pro/scss/coreui"
с @import "@coreui/coreui-pro/scss/coreui"
У меня была такая же ошибка после запуска, ng update @angular/core@14 @angular/cl1@14. Некоторые другие пакеты были обновлены до v15.04 в моем pacakge.json. Я предполагаю, что это все зависимости, которые я должен был связать с командой ng update, чтобы они все равномерно обновлялись до версии 14. Решение состояло в том, чтобы просто понизить версии всех пакетов, которые были в v15, до v14-lst.
Я думаю, что из-за того, что мои @angular/compiler и @angular/compiler-cli были обновлены до v15, это вызвало ошибку компиляции при запуске ng serve
Обновлять:
Столкнулся с этим снова после настройки всех моих линтеров.
Я не думаю, что вы хотите анализировать или проверять модули узла сборки, если вам это действительно не нужно. Наличие модулей узла проверки машинописного текста важно, особенно если вы не хотите, чтобы разные пакеты или разные копии одного и того же пакета имели конфликтующие объявления типов.
Чтобы решить эту проблему, в параметрах компилятора в вашем tsconfig.json добавьте skipLibCheck: true
tsconfig.json
{
...
complilerOptions: {
...
skipLibCheck: true
}
}
Вот официальные документы на skipLibCheck
это работает очень хорошо.
Это проблема совместимости. Если вы установили какой-либо новый пакет, проверьте его Github и его зависимости.
Я установил ng-bootstrap @ 14, и для него требовался angular версии 15, но мой проект — angular 14, поэтому мне пришлось понизить пакет до 13, чтобы решить эту проблему.
Я также столкнулся с той же проблемой,
**error ts2707: generic type 'ɵɵdirectivedeclaration' requires between 6 and 8 type arguments.**
но не волнуйтесь, решить эту проблему довольно просто: -
вам нужно просто обновить angular с версии 14 до 15.
следующая команда
команда: -
ng update @angular/cli @angular/core --allow-dirty --force
тогда ваше приложение будет работать так, как вы ожидаете!
Удачи!
Получили ли вы какое-либо решение для этого .. Я столкнулся с той же проблемой.