it-roy-ru.com

Angular 5 ng-bootstrap Тип 'ElementRef' не является общей ошибкой

Я использую angular 5 и ng-bootstrap в следующих версиях:

  "private": true,
  "dependencies": {
    "@angular/animations": "^5.2.0",
    "@angular/common": "^5.2.0",
    "@angular/compiler": "^5.2.0",
    "@angular/core": "^5.2.0",
    "@angular/forms": "^5.2.0",
    "@angular/http": "^5.2.0",
    "@angular/platform-browser": "^5.2.0",
    "@angular/platform-browser-dynamic": "^5.2.0",
    "@angular/router": "^5.2.0",
    "@ng-bootstrap/ng-bootstrap": "^2.1.0",
    "angular-in-memory-web-api": "^0.5.4",
    "angular2-moment": "^1.9.0",
    "bootstrap": "^4.1.1",
    "core-js": "^2.4.1",
    "date-util": "^1.2.1",
    "material-icons": "^0.2.1",
    "ngx-bootstrap": "^3.0.0",
    "normalize.css": "^8.0.0",
    "rxjs": "^5.5.6",
    "zone.js": "^0.8.19"
  },

когда я получаю ng serve есть эта ошибка:

**

Не удалось скомпилировать.

node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts (58,96): ошибка TS2315: тип 'ElementRef' не является универсальным. node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input.d.ts (121,67): ошибка TS2315: Тип 'ElementRef' не является универсальным. node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker.d.ts (115,208): ошибка TS2315: тип 'ElementRef' не является универсальным. node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts (12,45): ошибка TS2315: Тип 'ElementRef' не является универсальным. node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts (29,45): ошибка TS2315: Тип 'ElementRef' не является универсальным. node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts (37,44): ошибка TS2315: тип 'ElementRef' не является универсальным. node_modules/@ng-bootstrap/ng-bootstrap/modal/modal-window.d.ts (13,40): ошибка TS2315: тип 'ElementRef' не является универсальным.

16
GustavoFraga

Я была такая же проблема. Так что я удалил ng-bootstrap.

Затем я переустановил его непосредственно с версии 2.0.0.

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

21
Azac

Вам нужно использовать Angular 6.0.0 или новее с ng-bootstrap> = 2.0.0. Установка npm/yarn должна была дать вам предупреждение во время установки.

Возврат к ng-bootstrap 2.0.0 - это не решение, так как вы просто застряли с этой версией библиотеки и не будете получать обновления/исправления. 

Чтобы правильно решить эту проблему, вам необходимо:

  • обновить Angular до версии 6.0.0 или новее (рекомендуется)
  • используйте последнюю версию ng-bootstrap, совместимую с Angular 5.x (1.1.2) 
12
pkozlowski.opensource

Измените версию ng-bootstrap на «2.0.0»

"@ng-bootstrap/ng-bootstrap": "2.0.0"

а затем npm install и попробуйте подать заявку.

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

9
Shalika Akalanka

Я вдруг столкнулся с той же проблемой.

В моем случае я использовал ng-boostrasp 2.0.0, но я определял зависимости следующим образом:

"@ng-bootstrap/ng-bootstrap": "^2.0.0"

Который в какой-то момент времени (основываясь на журналах прошлых успешных сборок: где-то с 1 июня) начал пикап версии 2.1.0.

Поэтому я изменил свой package.json, чтобы выбрать именно 2.0.0:

"@ng-bootstrap/ng-bootstrap": "2.0.0"

Это исправило проблему от меня.

7
EnjiLenin

После установки последней версии ng-bootstrap, которая показала ошибку на подаче.

Наконец, делая это

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

помог.

0
Athi