Angular CLI를 최신 버전으로 업그레이드하는 방법


102

사용하여 ng --version:

@ angular / cli : 1.0.0

사용 가능한 최신 릴리스가 아닙니다.

내 시스템에 Angular CLI가 전역 적으로 설치되었으므로 업그레이드하기 위해 시도했습니다.

npm update angular-cli -g

그러나 1.0.0 버전으로 유지되기 때문에 작동하지 않습니다.

답변:


832

GitHub 저장소에보고 된 몇 가지 문제를 읽은 후 해결책을 찾았습니다.

시스템에 전역 적으로 설치된 angular-cli 패키지를 업데이트하려면 다음을 실행해야합니다.

npm uninstall -g @angular-cli
npm install -g @angular/cli@latest

시스템에 따라 위의 명령 앞에 sudo.

또한 프로젝트 디렉토리 내에서 전역 버전보다 높은 우선 순위로 선택되기 때문에 로컬 프로젝트 버전도 업데이트하고 싶을 가능성이 큽니다.

rm -rf node_modules
npm uninstall --save-dev @angular-cli
npm install --save-dev @angular/cli@latest
npm install

GitHub에서 이것을 지적 해 주신 grizzm0 에게 감사드립니다 .

CLI를 업데이트 한 후 Angular 버전업데이트 하고 싶을 것입니다 .

참고 : 당신이 이전 버전에서 각도 CLI 6+로 업데이트하는 경우, 당신은 읽을 필요가 있습니다 .

편집 : 당신은 CLI의 1.x의 버전에 아직 있다면 또한, 당신은 당신의 변환해야 angular-cli.json하는 angular.json다음과 같은 명령을 수행 할 수있는을 :

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

( 자세한 내용은 이것을 확인 하십시오).


3
현명한 경고 : GitHub의 릴리스 탭에서 버전 간 변경 사항에 대한 자세한 내용을 확인할 수 있습니다. 링크 : github.com/angular/angular-cli/releases
Stuti Verma

14
2017 업데이트 (npm @ 5) : 캐시를 정말로 정리해야하는 경우 : "npm cache clean --force"
Neyt

2
@ angular / cli 전체가 아닌 angular-cli를 제거하는 이유는 무엇입니까?
YASH DAVE

4
npm cache clean 명령을 실행하면 'npm @ 5 기준으로 npm 캐시가 손상 문제로자가 치유되고 캐시에서 추출 된 데이터가 유효 함이 보장됩니다. 모든 것이 일관성이 있는지 확인하려면 대신 'npm cache verify'를 사용하세요. ' 당신이 강제하려는 경우 ", 당신은 --force를 추가 할 수 있습니다
Pushkal Boganatham에게

1
@neyt가 말했듯이 @PushkalBoganatham은 --force플래그 를 사용해야합니다
svict4

149

ng6 +-> 7.0

RxJS 업데이트 (RxJS 6.3에 따라 다름)

npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json

없애다 rxjs-compat

그런 다음 핵심 패키지와 Cli를 업데이트합니다.

ng update @angular/cli @angular/core

(선택 사항 : Node.js를 NG7에서 지원되는 버전 10으로 업데이트)

ng6 + (Cli 6.0+) : 단순화 된 명령 기능

먼저 Cli를 업데이트하십시오.

npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli

그런 다음 핵심 패키지를 업데이트하십시오.

ng update @angular/core

RxJS를 사용하는 경우 다음을 실행하십시오.

ng update rxjs

RxJS를 버전 6으로 업데이트 rxjs-compat하고 후드 아래에 패키지를 설치합니다 .

빌드 오류가 발생하면 다음을 수동으로 설치해보십시오.

npm i rxjs-compat
npm i @angular-devkit/build-angular

마지막으로 버전 확인

ng v

프로덕션 빌드에 대한 참고 사항 :

ng6는 더 이상 사용하지 않습니다 intl.polyfills.ts

//remove them to avoid errors
import 'intl';
import 'intl/locale-data/jsonp/en';

ng5 + (Cli 1.5+)

npm install @angular/{animations,common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router}@next typescript@2.4.2 rxjs@'^5.5.2'
npm install typescript@2.4.2 --save-exact

노트 :

  1. 작성 시점에서 Cli 1.6에 지원되는 Typescript 버전은 최대 2.5.3입니다.
  2. @next를 사용하면 가능한 경우 패키지가 베타로 업데이트됩니다. @latest를 사용하여 최신 비 베타 버전을 얻으십시오.

전역 및 로컬 패키지를 모두 업데이트 한 후 오류를 방지하기 위해 캐시를 지 웁니다.

npm cache verify (recommended)
npm cache clean (for older npm versions)

공식 참조는 다음과 같습니다.

  1. Cli 업데이트
  2. 핵심 패키지 핵심 패키지 업데이트 .

4
npm cache clean --force 정말 나에게 도움이
피니 Cheyni에게

1
왜이 부분이 릴리스 노트에 없는지!
Drenai

RxJS 6이 더 이상 사용되지 않는 것에 대해 말씀하신 내용을 확인해 주시겠습니까? 어디에서나 v6가 최신 안정 릴리스 인 것 같습니다. github.com/ReactiveX/rxjs rxjs-dev.firebaseapp.com
Joey Gough

1
@JoeyGough 좋은 캐치! Ng7은 rxjs 6.3에 의존합니다. 귀하의 의견에 감사드립니다. ref : github.com/angular/angular/blob/master/…
Pageii Studio

107

당신은 단순히 사용할 수 있습니다

npm install -g angular-cli -처음 인 경우

npm install -g @angular/cli@latest -이미 설치된 경우 업데이트를 위해


37

강력한 명령은 마지막 패키지를 설치하고 대체합니다.

비슷한 문제가있었습니다. 나는 그것을 고쳤다.

 npm install -g @angular/cli@latest

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

여기에 이미지 설명 입력


이 로컬 각도 CLI 위해 일하는 글로벌 한 추가 장착하는 내 대답을 확인합니다
프란체스코 Borzi

내 글로벌 CLI 업그레이드
Rahmathullah M dec.


22

다음 접근 방식이 저에게 효과적이었습니다.

npm uninstall -g @angular/cli

그때

npm cache verify

그때

npm install -g @angular/cli@latest

저는 Windows 10에서 작업하며 때로는 다음을 사용해야 npm cache clean --force했습니다. 설치 중에 문제가 없으면 할 필요가 없습니다.


2
@latest최신이 기본값이므로을 지정할 필요가 없습니다 .
Ambroise Rabier

이 솔루션이 작동하지 않는 경우 : stackoverflow.com/a/58678941/8718377
veben

17

전역 CLI 버전을 관리하는 데 어려움이있는 경우 NVM : MAC , Windows 를 사용하는 것이 좋습니다. .

Angular 프로젝트에서 로컬 CLI 를 업데이트 하려면 다음 단계를 따르세요.

CLI v6 부터는 ng update종속성을 새 버전으로 자동 업데이트하기 위해 실행할 수 있습니다 .

ng update @angular/cli

함께 ng update때때로 당신은 추가 할 수 있습니다 --force플래그를.

--all동시에 모든 패키지를 업그레이드하기 위해 플래그를 전달할 수도 있습니다 .

ng update --all --force

CLI 만 마이그레이션하려면 다음을 실행하십시오.

ng update @angular/cli --migrateOnly

--from=from예를 들어 마이그레이션 할 플래그 버전을 전달할 수도 있습니다 --from=1.7.4. 이 플래그는 단일 패키지가 업데이트되고 마이그레이션에서만 사용할 수 있습니다.

업데이트가 완료된 후 설치 한 typescript 버전이 현재 angular 버전에서 지원되는지 확인하십시오. 그렇지 않으면 typescript 버전을 다운 그레이드해야 할 수도 있습니다. 또한 일반적으로 최신 버전의 angular는 최신 버전의 타이프 스크립트를 지원하지 않습니다.

체크 아웃 Angular CLI / Angular / NodeJS / Typescript호환성 버전 여기

또한이 가이드를 확인 하십시오. Angular 프로젝트 업데이트update.angular.io


OLD 답변 :이
모든 당신이해야 할 함께 DIFF이다 각도-CLI-DIFF 및 현재 프로젝트에서 변경 사항을 적용합니다.

단계는 다음과 같습니다.

  1. 1.4에서 가자. 1.5로 설정하면 https://github.com/cexbrayat/angular-cli-diff/compare/1.4.0...1.5.0
  2. 클릭 File changed탭을
  3. 현재 프로젝트에 변경 사항을 적용합니다.
  4. npm install / yarn
  5. 모두 테스트 npm scripts( 자세한 내용은 여기 : https://stackoverflow.com/a/45431592/415078 )

14

@ShinDarth 답변 외에도 .

나는 그가 말한 것을했지만 내 패키지는 앵귤러 버전을 업데이트하지 않았 으며이 게시물이에 관한 것임을 알고 angular-cli있지만 이것이 도움이 될 수 있다고 생각합니다.

  • 그래서 @ShinDarth가 위에서 말한 것을 한 후, 내 각도 버전을 수정하기 위해 -ng new projectname패키지를 생성 한 새 프로젝트를 만들어야했습니다 .
  • 새 패키지를 복사 한 다음 업데이트가 필요한 모든 프로젝트 패키지에 새 패키지를 붙여 넣거나 (가져온 종속성을 추가하고 첫 번째 줄에서 이름을 변경해야 함) 복사 및 붙여 넣기없이 수동으로 버전을 변경할 수 있습니다.
  • 그런 다음 -npm install.

이제 ng serve다시 작업하고 있습니다. 업데이트가 필요한 모든 프로젝트와 관련하여 고통스럽기 때문에 누군가가 알고 있다면 공유해주세요.


답변보다 내 답변에 추가 된 것처럼 보이므로 내 답변 아래에 댓글로 이동할 수 있습니까?
프란체스코 Borzi

7
sry, 당신 말이 맞지만 당신의 대답에 코멘트를하기 위해서는 50 개의 평판이 필요합니다.
Leonardo Souza Paiva

9

업데이트하려면 각도 CLI를 새 버전으로, 당신은 글로벌 패키지와 프로젝트의 로컬 패키지를 모두 업데이트해야합니다.

글로벌 패키지 :

npm uninstall -g @angular/cli
npm cache clean
# if npm version is > 5 then use `npm cache verify` to avoid errors (or to avoid using --force)
npm install -g @angular/cli@latest

로컬 프로젝트 패키지 :

rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/cli@latest
npm install

출처 : Github


3

제 경우에는 npm install --save-dev angular-cli를 사용하여 angular-cli를 로컬에 설치했습니다. 따라서 npm install -g @ angular / cli 명령을 사용하면 "Your global Angular CLI version (1.7.3) is greater than your local version (1.4.9)"라는 오류가 발생 합니다. angular-cli, @ angular / cli 및 @ angular / cli @ latest는 서로 다른 두 개의 cli입니다. 이 문제를 해결하는 것은 모든 cli를 제거한 다음 npm install -g @ angular / cli @ latest를 사용하여 최신 angular cli를 설치하는 것입니다.

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