【问题标题】:After I install ng bootstrap and compile, I get this error安装 ng bootstrap 并编译后,出现此错误
【发布时间】:2020-06-06 11:28:41
【问题描述】:

错误 node_modules/@ng-bootstrap/ng-bootstrap/accordion/accordion.d.ts:191:9 - 错误 TS1086:无法在环境上下文中声明访问器。

191 设置 ngbPanelToggle(panel: NgbPanel); ~~~~~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/checkbox.d.ts:28:9 - 错误 TS1086:无法在环境上下文中声明访问器。

28 集聚焦(isFocused: boolean); ~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:14:9 - 错误 TS1086:无法在环境上下文中声明访问器。

14 获得禁用():布尔值; ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:15:9 - 错误 TS1086:无法在环境上下文中声明访问器。

15 设置禁用(isDisabled: boolean); ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:61:9 - 错误 TS1086:无法在环境上下文中声明访问器。

61 设定值(值:任意); ~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:65:9 - 错误 TS1086:无法在环境上下文中声明访问器。

65 设置禁用(isDisabled: boolean); ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:66:9 - 错误 TS1086:无法在环境上下文中声明访问器。

66 设置焦点(isFocused: boolean); ~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:67:9 - 错误 TS1086:无法在环境上下文中声明访问器。

67 得到检查():布尔值; ~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:68:9 - 错误 TS1086:无法在环境上下文中声明访问器。

68 被禁用():布尔值; ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:69:9 - 错误 TS1086:无法在环境上下文中声明访问器。

69 获取值():任意; ~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:70:9 - 错误 TS1086:无法在环境上下文中声明访问器。

70 获取 nameAttr(): 字符串; ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/carousel/carousel.d.ts:42:9 - 错误 TS1086:无法在环境上下文中声明访问器。

42 设置间隔(值:数字); ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/carousel/carousel.d.ts:43:9 - 错误 TS1086:无法在环境上下文中声明访问器。

43 获取区间():数字; ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/carousel/carousel.d.ts:47:9 - 错误 TS1086:无法在环境上下文中声明访问器。

47 设置换行(值:布尔值); ~~~~ node_modules/@ng-bootstrap/ng-bootstrap/carousel/carousel.d.ts:48:9 - 错误 TS1086:无法在环境上下文中声明访问器。

48 得到 wrap(): boolean; ~~~~ node_modules/@ng-bootstrap/ng-bootstrap/carousel/carousel.d.ts[0m:58:9 - 错误 TS1086:无法在环境上下文中声明访问器。

58 设置 pauseOnHover(value: boolean); ~~~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/carousel/carousel.d.ts:59:9 - 错误 TS1086:无法在环境上下文中声明访问器。

59 得到 pauseOnHover(): boolean; ~~~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-service.d.ts:16:9 - 错误 TS1086:无法在环境上下文中声明访问器。

16 获取模型$(): Observable; ~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-service.d.ts:17:9 - 错误 TS1086:无法在环境上下文中声明访问器。

17 get dateSelect$(): Observable; ~~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker.d.ts:234:9 - 错误 TS1086:无法在环境上下文中声明访问器。

234 获取状态():NgbDatepickerState; ~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker.d.ts:240:9 - 错误 TS1086:无法在环境上下文中声明访问器。

240 获取日历():NgbCalendar; ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input.d.ts:200:9 - 错误 TS1086:无法在环境上下文中声明访问器。

200 被禁用():任何; ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input.d.ts:201:9 - 错误 TS1086:无法在环境上下文中声明访问器。

201 设置禁用(值:任意); ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-month.d.ts:26:9 - 错误 TS1086:无法在环境上下文中声明访问器。

26 设置月份(月份:NgbDateStruct); ~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts:15:9 - 错误 TS1086:无法在环境上下文中声明访问器。

15 设置禁用(值:布尔值); ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts:16:9 - 错误 TS1086:无法在环境上下文中声明访问器。

16 get disabled(): boolean; ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/modal/modal-ref.d.ts:40:9 - 错误 TS1086:无法在环境上下文中声明访问器。

40 获取组件实例():任何; ~~~~~~~~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/nav/nav.d.ts:64:9 - 错误 TS1086:无法在环境上下文中声明访问器。

64 get active(): boolean; ~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/nav/nav.d.ts:65:9 - 错误 TS1086:无法在环境上下文中声明访问器。

65 获取 id(): 任意; ~~ node_modules/@ng-bootstrap/ng-bootstrap/nav/nav.d.ts:66:9 - 错误 TS1086:无法在环境上下文中声明访问器。

66 获取 panelDomId(): 字符串; ~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/progressbar/progressbar.d.ts:12:9 - 错误 TS1086:无法在环境上下文中声明访问器。

12 组最大值(最大值:数字); ~~~ node_modules/@ng-bootstrap/ng-bootstrap/progressbar/progressbar.d.ts:13:9 - 错误 TS1086:无法在环境上下文中声明访问器。

13 得到 max(): number; ~~~ node_modules/@ng-bootstrap/ng-bootstrap/tabset/tabset.d.ts:91:9 - 错误 TS1086:无法在环境上下文中声明访问器。

91 set justify(className: 'start' | 'center' | 'end' | 'fill' | '合理'); ~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts:35:9 - 错误 TS1086:无法在环境上下文中声明访问器。

35 设置 hourStep(step: number); ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts:36:9 - 错误 TS1086:无法在环境上下文中声明访问器。

36 得到 hourStep(): number; ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts:40:9 - 错误 TS1086:无法在环境上下文中声明访问器。

40 set minuteStep(step: number); ~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts:41:9 - 错误 TS1086:无法在环境上下文中声明访问器。

41 得到 minuteStep(): number; ~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts:45:9 - 错误 TS1086:无法在环境上下文中声明访问器。

45 set secondStep(step: number); ~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts:46:9 - 错误 TS1086:无法在环境上下文中声明访问器。

46 得到 secondStep(): number; ~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts:72:9 - 错误 TS1086:无法在环境上下文中声明访问器。

72 get isSmallSize(): boolean; ~~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts:73:9 - 错误 TS1086:无法在环境上下文中声明访问器。

73 get isLargeSize(): boolean; ~~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts:100:9 - 错误 TS1086:无法在环境上下文中声明访问器。

100 设置 ngbTooltip(value: string | TemplateRef); ~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts:101:9 - 错误 TS1086:无法在环境上下文中声明访问器。

101 获取 ngbTooltip(): 字符串 |模板引用;

** Angular Live Development Server 正在监听 localhost:4200,在 http://localhost:4200/ 上打开您的浏览器 ** i 「wdm」: 编译失败。

【问题讨论】:

  • 尝试将 TypeScript 升级到最新版本

标签: angular bootstrap-4 ng-bootstrap


【解决方案1】:

一开始我在尝试安装 ng-bootstrap 时遇到了同样的问题,也许我的故障排除可以给你一些见解。

我通过更新 angular 和 CLI 解决了这个问题:

ng update @angular/cli @angular/core

然后通过 NPM 安装引导包(以防你在安装过程中跳过它)

npm install bootstrap

之后我安装了 ng-bootstrap

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

毕竟应用程序启动了,但它是空白的!所以我检查了控制台,有一条消息说我必须使用以下命令添加本地化:

ng add @angular/localize

在这些步骤之后,我的 Angular 应用程序启动并运行了,希望这会有所帮助。

编辑:也不要忘记在 angular.json 文件中包含对 node_modules/bootstrap/dist/css/bootstrap.min.css 的引用 p>

【讨论】:

  • 同样的问题仍然存在。
  • 你能分享你的 Angular、bootstrap 和 ng-bootstrap 版本吗?或者你项目的回购可能
  • 是的,这对我有用。 ng update 需要将 Angular 更新到版本 9+。如果您使用 ng-bootstrap >= v6 和 angular > v9,则需要 ng add @angular/localize。
  • 虽然我最终使用了 angular/material,但安装过程类似,因为我忘记提交或存储 angular 更新。
  • 升级 Angular 版本 wo 9+ 将对我有所帮助。 Ngbootstrap 6+ 需要 Angular 版本 9+
【解决方案2】:
"@ng-bootstrap/ng-bootstrap": "^5.2.2"

将 package.json 中的 @ng-bootstrap / ng-bootstrap 替换为上面的部分。它会起作用的。

【讨论】:

    【解决方案3】:

    package.json 中的@ng-bootstrap / ng-bootstrap 替换为:

    "@ng-bootstrap/ng-bootstrap": "~5.2.2"
    

    然后做npm i

    这对我来说很好。

    【讨论】:

    • 是的。降级 ng-bootstrap 版本后,这对我有用。
    • 也为我修复了。文档说 ng-bootstrap 6 适用于 Angular 9(我在 8 上)。我认为它会向后兼容-猜不是:)
    • 也为我工作
    • 我已经安装了 Angular 7,所以我不得不像这样替换:“@ng-bootstrap/ng-bootstrap”:“^4.2.1”。兼容性表在此页面:ng-bootstrap.github.io/#/getting-started
    • 嘿,你真的很棒,它让我的工作变得简单,而且对我有用。你好。我尝试了两天的解决方案。伟大的。 - 拉莫汉
    【解决方案4】:

    我也有同样的问题要解决

    ng add @ng-bootstrap/schematics
    

    【讨论】:

      【解决方案5】:

      简答 (如果您正在运行 Angular 8)
      在您的项目中,在 cli 上运行以下命令: npm install @ng-bootstrap/ng-bootstrap@5.3.0

      长答案:
      请检查您的 Angular 项目的版本,并确保您安装了与您的 Angular 项目兼容的 NgBootstrap 版本。

      看看依赖关系:
      https://ng-bootstrap.github.io/#/getting-started

      您可以使用 cli:ng version 检查 Angular 的版本,或者检查您的 package.json 文件。

      【讨论】:

        【解决方案6】:

        问题:

        node_modules/@ng-bootstrap/ng-bootstrap/accordion/accordion.d.ts:191:9 中的错误 - 错误 TS1086:无法在环境上下文中声明访问器。** 等等.....

        解决方案

        用这个更改 package.json 中的 @ng-bootstrap / ng-bootstrap 依赖:

           "dependencies": {
        
            "@ng-bootstrap/ng-bootstrap": "~5.2.2
        

        【讨论】:

          【解决方案7】:

          我们可以通过两种方式实现。

          方式一:

          step-1 打开angular.json文件并按照如下方式降级ng-bootstarp版本

          "@ng-bootstrap/ng-bootstrap": "~5.2.2"
          

          第二步运行npm i

          方式二:

          运行ng add @angular/localize

          这两种方法都可以解决您的问题。

          【讨论】:

            【解决方案8】:

            对于我的 Angular 8 应用,我使用了这个依赖版本: "@ng-bootstrap/ng-bootstrap": "~5.3.0"

            如前所述,使用 5.2.2 对我不起作用。从 5.3.0 开始支持一些标签属性,如 cardClass(例如:<ngb-panel [disabled]="disabled" [cardClass] ...>)。

            您还必须执行前面的答案中提到的命令npm i

            【讨论】:

              【解决方案9】:

              只需降级 ng-bootstrap 包

              npm i @ng-bootstrap/ng-bootstrap@5.3.0
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2020-08-16
                • 2021-05-06
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2015-11-27
                • 1970-01-01
                • 2017-06-12
                相关资源
                最近更新 更多