오류 : 데이터 경로“.builders [ 'app-shell']”에 'class'속성이 있어야합니다.


160

응용 프로그램을 실행하는 동안이 오류가 발생합니다. 내 응용 프로그램의 세부 정보는 다음과 같습니다.

Angular CLI: 7.3.3 
Node: 10.15.1 
Angular: 7.2.7 
@angular-devkit/architect -0.13.3 
@angular-devkit/build-angular- 0.800.1 
@angular-devkit/build-optimizer - 0.800.1 
@angular-devkit/build-webpack - 0.800.1 
@angular-devkit/core -7.3.3 
@angular-devkit/schematics -7.3.3 
@angular/cli -7.3.3 
@ngtools/webpack -8.0.1 
@schematics/angular -7.3.3 
@schematics/update 0.13.3 
rxjs 6.3.3 
typescript 3.2.4 
webpack 4.30.0

이미 캐시 정리를 시도했습니다.


내 응용 프로그램의 세부 사항은 다음과 같습니다. 각도 CLI : 7.3.3 노드 : 10.15.1 각도 : 7.2.7 @ angular-devkit / architect -0.13.3 @ angular-devkit / build-angular- 0.800.1 @ angular-devkit / build-optimizer-0.800.1 @ angular-devkit / build-webpack-0.800.1 @ angular-devkit / core -7.3.3 @ angular-devkit / schematics -7.3.3 @ angular / cli -7.3.3 @ ngtools / webpack -8.0.1 @schematics / 각 -7.3.3 @ 회로도 / 업데이트 0.13.3 rxjs 6.3.3 타이프 라이터 3.2.4 웹팩 4.30.0
Ekta 간디

1
이 문제는 일반적으로 호환되지 않는 패키지로 인해 발생합니다. 최근 package.json을 업데이트하셨습니까?
Deepika

7
마지막으로 해결책을 찾았습니다. 1) 먼저 간단한 명령 git checkout package.json을 제공하여 package.json 파일의 모든 변경 사항을 제거하십시오. 2) 그런 다음 @ angular-devkit / build-angular- ~ 0.800.1에서 package.json을 변경 한 후 ~ 0.800.1 (캡 대신 꼬리를 추가하십시오) 3) 그런 다음 명령 rm -rf node_modules / 4를 실행하십시오. clean cache -f 5) 마지막으로 npm install 명령을 실행하십시오. 이것은 나를 위해 작동합니다.
Ekta Gandhi

1
이상 npm clean cache -f이 잘못되었습니다 npm cache clean --force.
Fabien Haddadi

2
내가 찾은 것은 잘못된 버전의 노드를 사용하도록 nvm을 설정했으며 nvm use 12.14.01(필자의 경우) 올바르게 사용하도록 설정해야한다는 것입니다.
QuietSeditionist

답변:


172

package.json에서 devkit 빌더를 변경하십시오.

"@angular-devkit/build-angular": "^0.800.1",

"@angular-devkit/build-angular": "^0.10.0",

그것은 나를 위해 작동합니다.
행운을 빕니다.


31
로 제작 @angular-devkit/build-angular": "0.13.4"하고 일했다.
Dimuthu

3
완전한. "0.13.4"로 작업 한 후 npm 빌드 실행
SouravOrii

1
js-yaml <3.13.1에서 발견 된 보안 취약점에 대한 알림을 받았기 때문에 여기에 상륙했습니다. 업데이트 후이 오류 메시지가 나타납니다. 어쨌든 "^0.10.0"수정했습니다.
Alesh Houdek 2016 년

11
0.13.4는 나를 위해 일했지만 node_modules 폴더를 먼저 제거하고 package-lock.json을 삭제 한 다음 npm install을 실행하십시오. 모든 것을 고치는 것 같습니다.
Indy-Jones

5
이 솔루션은 작동하지만 잘못되었습니다. 대신 각도 및 각도 cli 버전을 업그레이드해야합니다. 아래 @ovangle 답변 확인
Francesco Borzi

101

다음은 나를 위해 일했습니다.

npm uninstall @angular-devkit/build-angular
npm install @angular-devkit/build-angular@0.13.0

3
이 답변은 직접적이지만 자원이나 참조도 부족합니다. 특정 패키지 버전을 설치하는 맹인들에게 직접적으로 전체 프로젝트가 중단 될 수 있습니다. 명확하게 참조하십시오.
Zakky

70

여기서 모두는 호환성을 위해 @ angular-devkit / build-angular를 @angular 7.x 버전으로 다운 그레이드하는 데 중점을두고 있지만, 해야 할 일은 @angular/cliangular 8 버전 으로 업그레이드 하는 것입니다.

문제는 시스템 cli가 여전히 이전 버전에서 멈춰 있고 ng update(각도 제어 프로젝트 외부에 있기 때문에) 자동으로 업데이트되지 않기 때문에 각도 라이브러리에 액세스하려고 할 때 호환되지 않는 버전으로 남아 있다는 것입니다.

다운 그레이드 @angular-devkit/build-angular하면 더 많은 비 호환성이 발생합니다.

npm i --global @angular/cli@latest

다른 곳 에서 문제를 일으키지 않고 문제 해결합니다 .


6
이것이 답이되어야합니다. 이 오류는 Angular 8로 업데이트 된 브랜치에서 가져 왔기 때문에 발생했지만 컴퓨터의 각도는 여전히 Angular 7입니다.
terahertz

19
이 문제 npm audit fix는 아직 angular@7@angular-devkit/build-angular
진행중인

4
러닝으로 npm audit fix인해 제동이 변경 되는 경우가 있습니다. 대신 npm audit결과를 이해하고 다음과 같은 방법으로 패키지를 npm i --save-dev <package@version>
하나씩

1
@zhuhang 그것은 단지 허위입니다. 글로벌 CLI 업그레이드는 마지막 몇 가지 버전과 역 호환 될 것으로 예상 할 수 있지만 반드시 포워드와 호환 될 것으로 기대할 수는 없습니다.
ovangle

1
@ovangle 나는 순방향 호환에 대해서는 언급하지 않았다. 나는 사람들이 특히 angular-cli버전을 맹목적으로 업그레이드하거나 다운 그레이드해서는 안된다고 말하고 있습니다. 현재 CLI 버전을 식별하고 해당 CLI와 일치하는 devkit을 사용해야합니다. devkit 패키지를 업그레이드하려면 CLI 업그레이드가 모두 올바른 것입니다.
zhuhang.jasper

62

모두 @angular-devkit/build-angular버전을 X로 다운 그레이드 하거나 @angular/cliY 또는 최신 버전으로 업그레이드하는 데 집중하고 있습니다.

그러나 맹목적X or Y or latest 으로 답변을 제안 하지 마십시오 . (일반적으로 CLI 업그레이드는 주요 변경 사항이므로 devkit을 다운 그레이드하는 것이 좋습니다.)

올바른 버전을 선택하려면 항상 Angular (angular-cli) 버전에 따라 다릅니다.

Angular CLI v8.3.19 -> 0.803.19
Angular CLI v8.3.17 -> 0.803.17
Angular CLI v7.3.8 -> 0.13.8
Angular CLI v6-lts -> 0.8.9

다른 특정 버전의 경우 https://github.com/angular/angular-cli/tags를 방문 하십시오 . CLI 버전을 찾으십시오. 일부 태그에서는 @angular-devkit/**패키지 의 해당 버전을 언급 합니다.

참고 : CLI 버전을 업그레이드하려면 먼저 최신 메이저 버전으로 업그레이드하는 것을 고려해야합니다. 단순히 다음 메이저 버전으로 넘어 가지 마십시오.


3
이 답변이 다운 투표 된 이유가 확실하지 않습니다. 좋은 조언입니다. 사실, 나는 내 업그레이드 한대로 (내 문제를 해결 devkit/build-angular에 패키지를 0.803.x하지만 나의 각도 CLI를 떠나 7.3.x내 각도 CLI를 업그레이드하려고하지 않았기 때문에, 나는 버전 사용에 다시 갔다. 0.13.xdevkit의
그레그 L을

2
@GreggL 사실, 내 대답은 대부분의 공감 율이 높은 답변보다 낫습니다. 다른 답변은 단순히 BLINDLY를 업그레이드 / 다운 그레이드하도록 제안합니다. 내 대답에서 알 수 있듯이 올바른 CLI / devkit 버전은 서로 관련이 있지만 개발자 커뮤니티가 그렇게하기 때문에 아무도 F를 제공하지 않습니다.
zhuhang.jasper

당신은 생명의 은인, 텍사스입니다! 그러나 cli 7.0.6에 대한 아이디어가 있습니까? 거기에 기록되어 있지 않습니다
Erhan Yaşar

2
이 위대한 대답에 추가하려면 : 내 자신의 프로젝트 @angular/cli에서 개발자 의존성에 포함시키고 그것이 일치하는지 확인하십시오 @angular-devkit/build-angular. 그렇게하면 여러 CLI 버전으로 여러 프로젝트를 유지할 수 있습니다. 당신이 할 경우 ng s는, 컴퓨터 CLI를 사용 당신이 할 경우 npm start에 스크립트 인 ( package.json수행하는 ng serve것이 올바른 CLI이 응용 프로그램을 실행 희망이 도움이 실제로 로컬 CLI를 사용합니다.
ma.D

오늘 기준 Angular 9 용으로 업데이트 됨 (소스 NPM ) : 0.901.1-> 최신, 0.1000.0-next.0-> 다음, 0.8.9-> v6-lts, 0.803.26-> v8-lts, 0.13
.10-

30

@ angular-devkit은 @ angular / cli 버전과 호환되지 않으므로 다음과 같이 이전 버전을 설치하십시오.

npm install @angular-devkit/build-angular@0.13.8 @angular-devkit/build-ng-packagr@0.13.8

같은 것을 게시하고 싶었습니다. 볼 0.12.4주위에 떠있는,하지만 나를 위해 작동하지 않습니다.
M. Doe

@ M.Doe 올바른 버전은 1angular-cli` 버전에 따라 다릅니다. 이것을보십시오 : stackoverflow.com/a/59043569/6122411
zhuhang.jasper

22

종속성 문제로 인해 실패한 Ng8로 업그레이드하려고 시도한 후 동일한 문제가 발생했습니다.

npm uninstall @angular-devkit/build-angular

그때 나는

npm install @angular-devkit/build-angular@0.12.4

고쳤다...


버전이 누군가의 요구 사항이 아니기 때문에 때로는이 솔루션을 실행할 수 없습니다. npm i @angular-devkit/build-angular
분에

14

나는 같은 문제가 있었지만 Ekta Gandhi의 의견 덕분에 해결했습니다.

마지막으로 해결책을 찾았습니다.

1) 먼저 간단한 명령 git checkout package.json을 제공하여 package.json 파일의 모든 변경 사항을 제거하십시오.

2) 그런 다음 @ angular-devkit / build-angular- ~ 0.800.1에서 package.json을 변경 한 후 ~ 0.800.1 (캡 대신 꼬리를 추가하십시오)

3) 그런 다음 rm -rf node_modules / 명령을 실행하십시오.

4) 그런 다음 npm clean cache -f 명령을 사용하여 catch를 정리하십시오.

5) 마지막으로 npm install 명령을 실행하십시오. 이것은 나를 위해 작동합니다.

.... Dimuthu가 제안한 수정과 함께

@ angular-devkit / build-angular ":"0.13.4 "로 만들었고 작동했습니다.


@ angular-devkit / build-angular의 버전 "0.13.4"에는 지연로드 된 구성 요소를 사용할 때 문제가 있음을 유의하십시오. 이 문제를 피하기 위해 사용자는 @ angular-devkit / build-angular 패키지를 업데이트해야합니다 ... 그래서 일종의 거래가 있습니다 ...
Adan

7

Angular 8을 설치할 때 나에게 이런 일이 발생했지만 해결할 수없는 비 호환성이 있습니다. 내가 작동하는 버전을 찾을 때까지 모든 버전으로 저글링하는 토끼 구멍을 내려 갔기 때문에 다운 그레이드해야했습니다.

첫째, TypeScript가 오래되었고 기본 설치는 TypeScript 3.1.6에 대한 참조를 추가했으며 3.4 이상이 필요합니다.

npm install typescript@">=3.4 <3.5"

둘째, devkit 0.800.1 또는 0.800.1을 사용하면 항상 비 호환성이 생겼습니다. 많은 조합을 시도했지만 아직 완전히 호환되는지 확실하지 않습니다. 특히 조금 오래된 부트 스트랩을 사용하고 있으며 아직 업그레이드 할 수 없기 때문입니다.

마지막으로 나는 그들 중 하나가 작동 할 때까지 다운 그레이드하려고했습니다 (package.json으로 이동하여 devDependencies를 찾으십시오).

@angular-devkit/build-angular": "0.13.4"

문제가 종속성 버전이라고 확신하지만 어느 버전인지 말할 수는 없습니다. 다운 그레이드를 시도하십시오.


그것이 작동하는 동안, 그것은 그것이 작동 @angular-devkit/build-angular": "0.13.8"하는 최신 버전 인 것 같습니다
M. Doe

고마워 그것은 부트 스트랩 버전 것 또는 종속 나를 0.13.4 이상 이동하지 않습니다하지만 많은 사람들을 위해 일 것이다
막시 리오스

0.13.8 (본질적으로 0.800. *보다 낮은 것)으로 나는 얻는다 : An unhandled exception occurred: Could not find the implementation for builder @angular-devkit/build-angular:browser See "/tmp/ng-5iKcHN/angular-errors.log" for further details.최신 버전에서는 제목에서 오류가 발생합니다. 지금 무엇을해야합니까?
Dominik Szymański

7

다음에서 package.json 파일을 업데이트하십시오.

  "@angular-devkit/build-angular": "^0.800.1" 

  "@angular-devkit/build-angular": "^0.12.4"

그런 다음 명령 행에서 npm install을 실행하십시오.


6

나는 또한이 문제를 겪었고 더 많은 업데이트를 할 때 더 많은 문제가 발생했습니다.

결국 나를 위해 일한 것은 각도 cli를 제거하고 다음 단계로 다시 설치하는 것이 었습니다.

npm uninstall -g @angular/cli
npm cache clean --force
npm install -g @angular/cli

이것은 나를 도와 줍니다 : angular / cli를 제거하는 방법


3

package.json 파일 에서이 변경을 수행 한 다음 작동합니다.

"@angular-devkit/build-angular": "^0.803.23"

"@angular-devkit/build-angular": "^0.13.9"



2

나는 또한이 문제에 직면하여 문제를 해결하기 위해 몇 시간을 어려움을 겪었으며 위의 모든 옵션을 시도했지만 아무것도 문제를 해결하지 못했습니다. 이 문제는 angular / cli와 angular-devkit의 버전 불일치로 인해 발생하므로 다음을 수행했습니다.

  1. 수동으로 변경된 파일 버전 :

    @ angular-devkit / build-angular ":"^ 0.13.9 ",

    @angular/cli": "~7.0.3", // Angular7 용, Angular8 용 : 0.803.23

  2. package-lock.json을 삭제했습니다.

  3. 실행 : npm install

내 문제를 해결했습니다.


1

내 편에 그것은 패키지였다

@ angular-devkit / 빌드 각도

@ angular-devkit / build-ng-packagr

같은 버전이 아니 었습니다 . 문제를 해결 한 build-ng-packagr것과 같은 버전으로 업데이트 했습니다 build-angular.



0

코드를 감사 한 다음

#sudo su 
rm -rf package-lock.json node_modules
sudo npm i --save 

-1

호환되지 않는 종속성이 있습니다. 다른 프로젝트 각도에서 package.json을 변경 하여이 문제를 해결 한 다음이 packag.json으로 변경 한 후에는 종속성 버전 만 변경하십시오.

변경 후 쓰기 :

-npm 링크

-npm serve -o

다음 일입니다 :)

   {
   "name": "angular-jwt-auth",
   "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": "^7.1.4",
   "@angular/cdk": "^7.3.1",
   "@angular/common": "~7.1.0",
   "@angular/compiler": "~7.1.0",
   "@angular/core": "~7.1.0",
   "@angular/forms": "~7.1.0",
   "@angular/http": "^6.1.10",
   "@angular/material": "^7.3.1",
   "@angular/platform-browser": "~7.1.0",
   "@angular/platform-browser-dynamic": "~7.1.0",
   "@angular/router": "~7.1.0",
   "@ng-bootstrap/ng-bootstrap": "^4.2.0",
   "@types/jquery": "^3.3.29",
   "angular-6-datatable": "^0.8.0",
   "bootstrap": "^4.3.1",
   "chart.js": "^2.8.0",
   "core-js": "^2.5.4",
   "jquery": "^3.4.1",
   "rxjs": "~6.3.3",
   "zone.js": "~0.8.26"
    },
   "devDependencies": {
   "@angular-devkit/build-angular": "~0.11.0",
   "@angular/cli": "~7.1.0",
   "@angular/compiler-cli": "~7.1.0",
   "@angular/language-service": "~7.1.0",
   "@types/chart.js": "^2.7.53",
   "@types/jasmine": "^2.8.16",
   "@types/jasminewd2": "^2.0.6",
   "@types/node": "~8.9.4",
   "codelyzer": "~4.2.1",
   "jasmine-core": "~2.99.1",
   "jasmine-spec-reporter": "~4.2.1",
   "karma": "~3.1.1",
   "karma-chrome-launcher": "~2.2.0",
   "karma-coverage-istanbul-reporter": "~2.0.1",
   "karma-jasmine": "~1.1.2",
   "karma-jasmine-html-reporter": "^0.2.2",
   "protractor": "~5.4.0",
   "ts-node": "~7.0.0",
   "tslint": "~5.11.0",
   "typescript": "~3.1.6"
   }

시도했지만 동일한 오류 오류가 발생합니다. 데이터 경로 ""에 추가 속성이 없어야합니다 (es5BrowserSupport).
Ekta Gandhi

-1

나는이 문제를 겪었다. 이것이 내가 그것을 해결 한 방법이다. 문제는 대부분 Angular 버전이 빌드에 Node.js 버전을 지원하지 않는다는 것입니다. 따라서 가장 좋은 해결책은 Node.js를 가장 안정적인 것으로 업그레이드하는 것입니다.

Node.js를 새로 업그레이드하려면 n을 사용하는 것이 좋습니다. Mac을 사용하는 경우

npm install -g n
npm cache clean -f
sudo n stable
npm update -g

이제 업데이트되었는지 확인하십시오.

node -v
npm -v

자세한 내용은이 링크를 확인하십시오. 여기


내가 왜이 downvote를 얻었는지 알게되어 기쁠 것입니다. 이것은 "해결책"을 가지지 않고 깔끔한 답변입니다.
arielb

노드 버전과 관련이 없으므로 angular-cli 버전이어야합니다.
zhuhang.jasper

방금이 문제가 발생했습니다. 각도 클리 버전이라고 생각하지 않습니다. 각도 클리와 관련이 있지만 노드 버전의 영향을받습니다.
arielb

-1

위의 답변 중 어느 것도 나를 위해 작동하지 않습니다.

내 원래 목표는 때때로 VSCode를 사용하여 프로젝트의 지속적인 컴파일 을 수정하는 것이 었 습니다.

나는 여러 가지 방법으로 시도했지만 아무것도 작동 하지 않았습니다. 프로젝트는 완벽하지 않습니다!

마지막으로 여기서 문제가 무엇인지 알았습니다.

회사의 저장소에서 프로젝트를 복제했으며 프로젝트의 기존 부분이 코딩 될 때 거기에있는 모든 코드가 종속성 버전과 정확히 일치해야했습니다.

결국, 나는 이전에 복제 된 프로젝트 AGAIN (몇 번)을 삭제하고 AGAIN (또한 몇 번)을 복제 했으며 DUT NOTHING BUT RAN "npm install"을 수행했으며 모든 것이 작동하기 시작했습니다 .

여기서 배운 교훈은 다음과 같습니다.

때로는 문제를 해결하려고 할 때 상황이 더 나빠질 수 있습니다 (내가 가진 문제는 프로젝트 의 상수 컴파일 이었습니다).

그러나 이것이 문제를 해결하려고 시도 할 수 없다는 것을 의미하지는 않습니다. 우리는 할 수 있습니다. 그러나 모든 것이 혼란스러워지면 원래 코드를 사용하는 것이 좋습니다.

다행히도 내 프로젝트 의 CONSTANT COMPILING 은 항상 한 번만 발생하는 것이 아닙니다. 고정되어 있지 않지만 견뎌야합니다. 그렇지 않으면 내 프로젝트가 컴파일되지 않습니다.


-2

@ angular-devkit / build-angular @ 0.13.4를 다시 설치하십시오.

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