오류 TS1086 : 각도 9에서 주변 컨텍스트에서 접근자를 선언 할 수 없습니다.


25

Angular Material을 배우고 있는데 "@ angular / material / button"에서 {MatButtonModule}을 가져올 때이 오류가 발생합니다.

다른 답변에서 읽은 내용에서 패키지 호환성 문제처럼 보이지만 해결할 수 없습니다.

여기에 전체 오류가 있습니다

ERROR in node_modules/@angular/cdk/a11y/focus-trap/focus-trap.d.ts(29,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/a11y/focus-trap/focus-trap.d.ts(30,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/a11y/focus-trap/focus-trap.d.ts(128,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/a11y/focus-trap/focus-trap.d.ts(129,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/a11y/focus-trap/focus-trap.d.ts(134,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/a11y/focus-trap/focus-trap.d.ts(135,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/a11y/key-manager/list-key-manager.d.ts(96,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/a11y/key-manager/list-key-manager.d.ts(98,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/a11y/live-announcer/live-announcer.d.ts(69,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/a11y/live-announcer/live-announcer.d.ts(70,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/observers/observe-content.d.ts(62,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/observers/observe-content.d.ts(63,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/observers/observe-content.d.ts(66,9): error TS1086: An accessor cannot be declared in an ambient context.
    node_modules/@angular/cdk/observers/observe-content.d.ts(67,9): error TS1086: An accessor cannot be declared in an ambient context.

여기 내 package.json이 있습니다.

"name": "football",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~8.2.14",
    "@angular/cdk": "^9.0.0",
    "@angular/common": "~8.2.14",
    "@angular/compiler": "~8.2.14",
    "@angular/core": "~8.2.14",
    "@angular/forms": "~8.2.14",
    "@angular/material": "8.2.3",
    "@angular/platform-browser": "~8.2.14",
    "@angular/platform-browser-dynamic": "~8.2.14",
    "@angular/router": "~8.2.14",
    "hammerjs": "^2.0.8",
    "rxjs": "~6.4.0",
    "tslib": "^1.10.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.803.21",
    "@angular/cli": "~8.3.21",
    "@angular/compiler-cli": "~8.2.14",
    "@angular/language-service": "~8.2.14",
    "@types/node": "~8.9.4",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "^5.0.0",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.15.0",
    "typescript": "~3.5.3"
  }
}

답변:


40

package.json에 따르면 Angular 8.3을 사용하고 있지만 angular / cdk v9를 가져 왔습니다. angular / cdk 버전을 다운 그레이드하거나 다음을 실행하여 Angular 버전을 v9로 업그레이드 할 수 있습니다.

ng update @angular/core @angular/cli

로컬 각도 버전이 9로 업데이트됩니다. 그런 다음 머티리얼을 동기화하려면 다음을 실행하십시오. ng update @angular/material


고맙게도 최신 버전 (필자의 경우 버전 9)을 자동으로 설치하는 angular flex를 설치할 때이 문제가 발생했지만 angular 8로 작업하고 있습니다. 버전을 수정하면 문제가 해결되었습니다.
A_J

@Kyler Johnson 어떻게 angular / cdk를 다운 그레이드 할 수 있습니까
mdkamrul

1
@mdkamrul npm i @angular/core@8 @angular/cli@8 @angular/material@8버전 8을 사용한다고 가정 하고을 실행하여 다운 그레이드 할 수 있습니다. 가끔 package.json과 package-lock.json이 동기화되지 않고 프로젝트가 package-lock.json 파일의 내부를 사용합니다. 이제 npm i동기화하여 실행하십시오 . 그 후에도 여전히 문제가 발생하면 npm ci종속성을 완전히 새로 설치하십시오
Kyler Johnson

내가 사용했다 ng update @angular/cli @angular/core --force패키지는 달리 전환 할 수 없습니다 호환되지 않는 놀이는 그 자체이기 때문에.
테스트

0

먼저 모든 속성 module.ts에서 @NgModule한 번만 파일을 체크인하십시오 . 둘 중 하나 이상이 있으면이 오류도 발생합니다. 또한이 오류가 발생했지만 module.ts파일 entryComponents속성에 두 번 있었기 때문에이 오류가 발생했습니다. entryComponents에서 한 번 제거하여이 오류를 해결했습니다 @NgModule. 따라서 먼저 제대로 확인하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.