Angular 5 ng-bootstrap Type'ElementRef'不是通用的错误

时间:2018-06-10 03:57:12

标签: javascript node.js angular angular5 ng-bootstrap

我在这些版本中使用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"
  },

当我收到服务时出现此错误:

  

**

     

编译失败。

     

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(115208):   错误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'不是通用的。

6 个答案:

答案 0 :(得分:25)

我有同样的问题。所以我取消了ng-bootstrap

然后我直接重新安装2.0.0版本。

npm install --save @ng-bootstrap/ng-bootstrap@2.0.0

答案 1 :(得分:12)

您需要将Angular 6.0.0或更高版本与ng-bootstrap> = 2.0.0一起使用。 npm / yarn install应该在安装过程中给你警告。

恢复到ng-bootstrap 2.0.0是而不是的解决方案,因为您只会被这个版本的库卡住,并且无法接收更新/修复。

要正确解决此问题,您需要:

  • 将Angular升级到版本6.0.0或更高版本(推荐)
  • 使用lates ng-bootstrap仍与Angular 5.x(1.1.2)
  • 兼容

答案 2 :(得分:9)

将ng-bootstrap版本更改为“2.0.0”

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

然后npm install&尝试提供应用程序。

我遇到了同样的问题,上面的方法对我有用。

答案 3 :(得分:8)

我突然面临同样的问题。

就我而言,我使用的是ng-boostrasp 2.0.0,但我是这样指定依赖项:

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

在某个时间点(基于过去成功构建的日志:自6月1日以来的某个地方)开始获取版本2.1.0。

所以我改变了我的package.json来完全选择2.0.0:

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

这解决了我的问题。

答案 4 :(得分:0)

在安装最新的ng-bootstrap后,该服务器显示服务错误。

最后,这样做

npm install --save @ng-bootstrap/ng-bootstrap@2.0.0

有帮助。

答案 5 :(得分:0)

安装ng-bootstrap检查版本兼容性。

ng-bootstrap    Angular  Bootstrap CSS
1.x.x             5.0.2   4.0.0
2.x.x             6.0.0   4.0.0
3.x.x             6.1.0   4.0.0
4.x.x             7.0.0   4.0.0
5.x.x             8.0.0   4.3.1 

您可以在此处的“版本”标签下找到版本详细信息, https://www.npmjs.com/package/@ng-bootstrap/ng-bootstrap