Angular 6 마이그레이션 -.angular-cli.json에서 angular.json으로


83

내 프로젝트를 Angular 6으로 업그레이드했고 .angular-cli.json파일 변환을 제외한 모든 것이 잘되었습니다 . 내가 따라 간 가이드에서 이것이 자동으로 변환된다고 말했습니다.

npm install -g @ angular / cli

npm 설치 @ angular / cli

@ angular / cli 업데이트

그러나 나는 여전히 오래된 것을 가지고 있기 때문에 그렇지 않았습니다. .angular-cli.json

자동 / 수동으로 할 수있는 방법이 있습니까?


수동으로 이름을 변경해야합니다
Pardeep Jain 2018 년

3
이 가이드 를 따랐습니까 ?
E. Sundin

파일 이름을 바꾸지 마십시오. 가이드를 따르면 삭제되고 다시 생성됩니다. 이름을 바꾸고 가이드를 따르면 작동하지 않습니다.
Kriil

아래 답변에 운이 없었습니다. 나를 위해, 모두를 지정 --from하고 --to트릭을했다. 분명히 나는 ​​마이그레이션 과정에서 많은 패키지를 업데이트하고 있었는데 많은 일이 잘못되었을 수 있습니다.
effeffe

답변:


116

이러한 명령 중 하나에 오류가있을 가능성이 큽니다. 나를 위해 npm install -g @angular-devkit/core먼저 실행 한 다음 명령을 실행해야했습니다.

npm install -g @angular/cli

npm install @angular/cli

콘솔 출력에 npm install @angular/cli다음이 표시되어야합니다.

================================================================================
The Angular CLI configuration format has been changed, and your existing configuration can
be updated automatically by running the following command:

  ng update @angular/cli
================================================================================

그런 다음 분명히 실행 ng update @angular/cli하여 프로세스를 완료 해야합니다 .

자세한 내용은 공식 업데이트 가이드 를 참조하세요.


2
npm install @ angular / cli ng update에 오류가 발생했습니다. 다시 실행해야했고 작동했습니다. :)
Dino

@WilliamHampshire : 동일한 프로세스를 따랐지만 npm install @ angular / cli 명령을 실행하면 아래 오류가 발생했습니다. npm WARN @ angular-devkit / schematics @ 0.0.52에는 @ angular-devkit / core @ 0.0.29의 피어가 필요하지만 설치되어 있지 않습니다. 피어 종속성을 직접 설치해야합니다. npm WARN @ schematics / angular @ 0.1.17에는 @ angular-devkit / core @ 0.0.29의 피어가 필요하지만 설치되어 있지 않습니다. 피어 종속성을 직접 설치해야합니다 .npm WARN ajv-keywords@3.2.0에는 ajv@^6.0.0의 피어가 필요하지만 설치되어 있지 않습니다. 피어 종속성을 직접 설치해야합니다.
Abhilash Reddy

2
내가 놓친 것은 @angular-devkit/core패키지 였습니다 .
ColinM

67

angular cli 명령 줄 도구 v6.xx 이상을 사용하는 경우 아래 명령을 사용하여 기존 angular-cli.json파일을 angular.json파일로 자동 업데이트 할 수 있습니다 .

ng update @angular/cli --from=1.7.4 --migrate-only

위의 명령 1.7.4에서 사용했던 이전 cli 버전이 있습니다. --migrate-only플래그는 만 마이그레이션을 수행하지만 설치된 버전을 업데이트하지 않습니다 있는지 확인합니다.

더 읽기 : angular / cli-github


이봐, 여러 옵션을 시도했지만 솔루션이 작동했습니다. 내 angular-cli.json이 angular.json으로 변환됩니다. 하지만 내 응용 프로그램을 시작할 때 또 다른 오류가 발생했습니다.
Abhilash Reddy

마지막으로 이것이 나를 위해 일한 것입니다! 여기에있는 다른 모든 솔루션과 공식 각도 업데이트 가이드를 포함하여 많은 솔루션을 시도했지만 ng update @angular/cli실행할 때마다 angular-cli.json을 angular.json으로 업데이트하지 않았습니다. 마침내 작동했습니다! 감사합니다!
Rohan

41

" ng update @ angular / cli "를 두 번 실행하면 angular-cli.json이 angular.json으로 업데이트됩니다.

최신 정보:

다음과 같은 오류가 발생하는 경우 :

오류 : 지정된 명령 업데이트가 유효하지 않습니다. 사용 가능한 옵션은 ng-help를 참조하십시오.

그런 다음 다음과 같이 2 개의 명령을 실행해야합니다.

  1. npm install --save-dev @ angular / cli @ latest.
  2. @ angular / cli 업데이트

그러면 자동으로 angular.json이 생성되고 .angular-cli.json이 삭제되고 karma.conf.js, src / tsconfig.spec.json, package.json 및 tslint.json이 업데이트됩니다.

여기에 이미지 설명 입력


21

5.2-> 6.1에서 업데이트하려고했는데 실행 npm install @angular/cli@6ng update @angular/cli@6, ( https://update.angular.io/#5.2:6.1에 설명 된대로 ) 내 package.json업데이트 중이지만 다른 항목은없는 문제가 발생했습니다. 오류가 없었음에도 불구하고 파일이 같 .angular-cli.json거나 tsconfig.json같았습니다. 업데이트 명령을 여러 번 실행했지만 효과가 없었습니다.

나는 나를 위해 일한 다음 3 가지 명령을 실행했습니다.

npm install @angular/cli@6
ng update @angular/cli
ng update @angular/core@6

유일한 실제 변화는 두 번째 명령입니다. 문서는 실행하라고 ng update @angular/cli@6말하지만 구성 파일을 업데이트하지 않습니다.


3

버전을 5.2에서 6.0으로 업그레이드하기 위해 다음 단계를 따랐습니다.

  • Node 8 이상을 설치하십시오.
  • yarn global add @ angular / cli.
  • 원 사는 @ angular / cli를 추가합니다.
  • @ angular / cli를 업데이트합니다.
  • @ angular / core를 업데이트합니다.

    참고 : ng update @ angular / core 명령 을 실행 한 후 잘못된 범위 문제가 발생하면 아래에 따라 package.json 의 메이저 버전 을 교체하면 자동으로 마이너를 교체합니다. 리소스 : Angular v5에서 Angular v6으로 프로젝트를 업그레이드하고 싶습니다 .

      - npm uninstall -g angular-cli
      - npm cache clean or npm cache verify
      - npm install -g @angular/cli@next
      - then, replace lower versions to higher versions in package.json 
        file.
      - delete node modules folder.
      - run npm/yarn install.
    

npm install 후 src / styles 경로 누락 오류가 발생하면 [ "src / styles", "src / fonts", "src / images", "src에서 assets 블록 아래의 angular.json 파일에 지정된 경로를 제거하십시오. / assets ","src / favicon.ico "]를 ["assets ","favicon.ico "]로 변경합니다.

  • yarn global add rxjs-tslint (필요할 수 있음).
  • rxjs-5-to-6-migrate -p src / tsconfig.app.json (필요할 수 있음).
  • yarn install @ angular / material @ 6.0.0 (재료 패키지 업데이트).

=> 주의 이름을 바꿀 필요가 없습니다 angular.cli.jsonangular.json 수동으로!

** 추가 문의 사항이 있으면 언제든지 문의하십시오.


1

다음 단계를 따르십시오.

1) Angular CLI를 전역 및 로컬로 업데이트합니다 (최신 버전이 7이라고 가정).

2) 이전 프로젝트를 가져 와서 다음 명령을 실행하십시오.

  • npm 설치 @ angular / cli
  • @ angular / cli 업데이트

이것을 실행 한 후 모든 각도 패키지를 최신 버전으로 업데이트했습니다.

3) 아직 누락 된 패키지를 추가합니다.

npm install @ angular-devkit / core --save -dev

4) ng serve (최신 버전)로 새로운 프로젝트 생성

5) 이름이 angular.json 인 새 빈 파일을 만들고 새 프로젝트에서 angular.json의 내용을 여기에 복사합니다.

6) angular.json에서 그에 따라 프로젝트 이름을 업데이트하십시오.

7) npm 설치 실행

8) 서브 실행

9) 이제 최신 버전의 angular를 사용할 준비가되었습니다.

위의 단계에 따라 angular2에서 angular7로 마이그레이션했습니다.


ng serve 실행 중에 오류가 발생하는 경우 오류가 angular.json의 항목 일 가능성이 가장 높은지 확인하고 그에 따라 업데이트하십시오. filepaths 등 프로젝트 이름, - 예를 들어
Sourabh 란카

0

경우 :
로컬 작업 공간 파일 ( 'angular.json')을 찾을 수 없습니다.
또는
serve 명령을 Angular 프로젝트에서 실행해야하지만 프로젝트 정의를 찾을 수 없습니다.

원하는 버전으로 업그레이드 / 다운 그레이드 (예 : Angular 6 시도)

[sudo] npm install -g -f @angular/cli@6.1.4

로컬 프로젝트 업데이트

ng update @angular/cli@6.1.4

그리고 당신은 갈 수 있습니다 :)

ng serve

0

이 스크린 샷에 표시된대로 CLI를 업데이트하는 명령을 실행하기 전에 실제로 모든 변경 사항을 커밋하거나 숨겨야했습니다.

다음 명령을 수행했습니다.

npm install --save-dev @angular/cli@latest 

ng update@angular/cli

그리고이 둘 사이의 변경 사항을 커밋합니다. Ng 서브

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