로컬 버전보다 큰 글로벌 Angular CLI 버전


353

실행할 때 ng serve글로벌 CLI 버전이 로컬 버전보다 크다는 경고가 표시됩니다. 이 경고에서 어떤 문제도 눈치 채지 못했지만 두 버전이 동기화되어야하는지 궁금했습니다. 또한 글로벌 버전이있는 경우 로컬 버전이 필요합니까?

경고 :

글로벌 Angular CLI 버전 (1.1.1)이 로컬 버전 (1.0.6)보다 큽니다. 로컬 Angular CLI 버전이 사용됩니다.


43
지역과 세계가 필요한지 누구나 대답 할 수 있습니까 ?

답변:


464

질문 중 하나에 대답하려면 도구가 작동하려면 전역 설치와 로컬 설치가 모두 필요합니다.

ng serveCLI를 로컬로 설치하지 않고 응용 프로그램 에서 실행하려고하면 (전역 설치 만 해당) 다음 오류가 발생합니다.

serve 명령을 사용하려면 Angular CLI 프로젝트 내에 있어야합니다.

또한이 메시지를 인쇄합니다 :

Please take the following steps to avoid issues:
"npm install --save-dev @angular/cli@latest"

해당 npm명령을 실행 하여 CLI를 로컬로 업데이트하고 경고가 표시되지 않도록하십시오.

다른 질문은 : 그들이하지 않는 것 같습니다 있다 동기화 같지만 도구와의 비정상적인 동작이나 도구가 생성하는 코드와의 불일치를 피하는 것이 가장 좋습니다.

전역 설치와 로컬 설치가 모두 필요한 이유는 무엇입니까?

새 응용 프로그램을 시작하려면 전역 설치가 필요합니다. ng new <app-name>명령은 CLI의 글로벌 설치를 사용하여 실행됩니다. 실제로 ng new기존 CLI 응용 프로그램의 폴더 구조 내에서 실행하려고하면 다음 과 같은 오류가 발생합니다.

newAngular CLI 프로젝트 내 에서는 명령을 사용할 수 없습니다 .

세계에서 실행할 수있는 다른 명령하는 설치 ng help, ng get/set--global옵션 ng version, ng doc그리고ng completion .

CLI의 로컬 설치는 애플리케이션이 빌드 된 후에 사용됩니다. 이런 방식으로 새 버전의 CLI를 사용할 수 있으면 전역 설치를 업데이트 할 수 있으며 로컬 설치에는 영향을 미치지 않습니다. 이것은 프로젝트의 안정성에 좋습니다. 대부분의 ng명령은 lint, buildserve등 의 로컬 버전에서만 의미가 있습니다 .

CLI GitHub readme 에 따르면 CLI를 업데이트하려면 글로벌 및 로컬 패키지를 업데이트해야합니다. 그러나 지금까지 아무런 문제없이 전역 및 로컬 버전이 다른 CLI를 사용했습니다. 전역 및 로컬 CLI 버전이 동기화되지 않는 것과 관련된 오류가 발생하면 여기에 게시합니다.


예를 들어 기존 cli 버전으로 모듈 설치를 실행하려는 경우와 같이 cli를 업데이트하는 대신 방법이 없습니다. 또는 명령을 실행할 때 전역 클리닉이 아닌 로컬 cli를 사용하도록 강요 할 수있는 방법이 없습니까 ??
Mohammed Yassine CHABLI

3
CLI 프로젝트 디렉토리에서 명령을 실행할 때 CLI의 로컬 버전이 기본적으로 사용됩니다. 그것은 경고에서 많이 말합니다.
R. Richards

하지만 왜이 솔루션이 나를 위해 작동하지 않는지 모르겠습니다. package.json에서 angular-cli = "^ 1.0.6"값으로 언급하면 ​​어떻게됩니까? 그 일이지만 여전히 무슨 일이 일어나지 않았습니까?
Mohammed Yassine CHABLI

1
npm uninstall -g @ angular / cli, npm cache clear --force, npm install @ angular / cli
Hesham Yassin

1
@Doug 맞습니다. CLI 버전이 더 낮은 프로젝트에서 해당 명령을 실행할 때 경고가 표시되지만 무시해도됩니다. 모든 경고는 버전이 다르며 로컬 CLI가 사용된다고 말합니다.
R. Richards

152

이것이 내가 문제를 해결 한 방법입니다.

최신 Angular CLI 패키지를 로컬로 설치

이 명령을 복사하여 실행

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

1
1.5 단계를 추가합니다 (원하는 경우) rm node_modules/.bin/ng. 완벽하게 작동했습니다.
bretonics

41

이것은 나를 위해 작동합니다 : 로컬 버전을 최신으로 업데이트합니다

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

버전을 확인하기 위해

  ng --version

Cold npm uninstall --save-dev @ angular / cli CALL npm install --save-dev @ angular / cli @ latest CALL npm install CALL ng --version
Lee H

1
당신의 발걸음을 내딛었습니다. 시도 ng serve --open하고있어 "CLI이 버전의 각도 버전 5.0.0 이상에서만 호환 각도를 업데이트하는 방법에 대한 지침을 보려면 아래 링크를 참조하시기 바랍니다.. angular-update-guide.firebaseapp.com을 "
87의 애기 존

17
npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest

그런 다음 로컬 프로젝트 패키지에서

rm -rf node_modules dist 
npm install --save-dev @angular/cli@latest
npm i 
ng update @angular/cli 
ng update @angular/core
npm install --save-dev @angular-devkit/build-angular

오류가 발생했습니다. 오류 : 예기치 않은 JSON 입력 끝 예기치 않은 JSON 입력 끝이 게시물에서 도움이되는 단계 위의 각도를 버전 6으로 업데이트 할 수 없습니다


1
npm install --save-dev @ angular-devkit / build-angular-@ angular / cli 업데이트에 도움이되었습니다-> angular.json 및 기타 업데이트를 만들었습니다.
MPV

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

다음 명령을 실행하여 기존 구성을 자동으로 업데이트 할 수 있습니다.

ng update @angular/cli

또는:

npm install

8

내 경우에는 방금이 명령을 프로젝트에 사용했습니다.

ng update @angular/cli

4

다음 명령을 실행하십시오. npm install --save-dev @angular/cli@latest

위의 명령을 실행하면 콘솔이 아래 메시지를 팝업 할 수 있습니다

Angular CLI 구성 형식이 변경되었으며 다음 명령을 실행하여 기존 구성을 자동으로 업데이트 할 수 있습니다. ng update @ angular / cli


4

나는 영어에 유창하지 않다

그러나 문제를 이해하면 프로젝트의 로컬 버전이 전 세계보다 이전 버전의 CLI입니까?

그리고 당신은 지역의 오래된 것 대신이 새로운 것을 사용하고 싶습니까?

그렇다면 매우 간단한 방법으로 프로젝트 디렉토리에서 실행하기에 충분합니다 npm link @angular/cli

자세한 내용은 https://docs.npmjs.com/cli/link 페이지를 참조하십시오.


2

먼저 다음을 실행하여 글로벌 앵귤러 클리 버전을 찾으십시오.

ng --version

위의 코드는 글로벌 및 로컬 앵귤러 버전의 버전을 보여줍니다.

글로벌 및 로컬 각도 클리닉을 동일하게 원하면 할 수 있습니다.

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

1.7.4는 글로벌 앵귤러 클리 버전입니다.

그런 다음 ng serve --open코드를 실행 하면 코드가 실행됩니다.


2

AngularCli 만 업데이트하면됩니다.

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

0

작업 공간에 대한 Angular CLI 업데이트 (로컬)

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

참고 : '-g'와 함께 명령을 사용하여 글로벌 버전을 설치했는지 확인하십시오.

npm install -g @angular/cli@latest

업데이트 명령을 실행하여 업그레이드에 필요한 모든 종속성 목록을 가져옵니다.

ng update

다음 각 개별 Angular 코어 패키지에 대해 아래와 같이 업데이트 명령을 실행하십시오.

ng update @angular/cli @angular/core

그러나 다른 모든 보류중인 문제를 해결하려면 '–force'및 '–allow-dirty'플래그 명령을 추가해야했습니다.

ng update @angular/cli @angular/core --allow-dirty --force


0

이 일만 해

npm install --save-dev @angular/cli@latest
npm audit fix
npm audit fix --force

1
이 질문은 거의 3 살이고 14 개의 기존 답변이 있기 때문에 귀하의 답변이 기존의 모든 답변에서 다루지 않는 가치가있는 이유를 설명하면 귀하의 답변이 훨씬 더 가치가 있습니다.
David Buck

-1

npm install --save-dev @ angular-devkit / build-angular-@ angular / cli 업데이트에 도움이되었습니다-> angular.json 및 기타 업데이트를 만들었습니다.

설치된 종속성 수집 중 ... 58 개의 종속성이 발견되었습니다.

 ** Executing migrations for package '@angular/cli' **
            Updating karma configuration
            Updating configuration
            Removing old config file (.angular-cli.json)
            Writing config file (angular.json)
            Some configuration options have been changed, please make sure to update any  npm scripts which you may have modified. DELETE .angular-cli.json CREATE angular.json (4394 bytes) CREATE browserslist (429 bytes) UPDATE karma.conf.js (993 bytes) UPDATE public/tsconfig.spec.json (295 bytes) UPDATE package.json (2618 bytes) UPDATE tsconfig.json (437 bytes) UPDATE tslint.json (3135 bytes) UPDATE public/polyfills.ts (587 bytes) UPDATE public/tsconfig.app.json (199 bytes) npm WARN @angular/core@5.2.9 requires a peer of zone.js@^0.8.4 but none is installed. You must install peer dependencies yourself.

-1

현재 각도를 제거하고 특정 버전을 설치하십시오.

  1. 버전 확인

    ng-버전

  2. 필요하지 않은 경우 버전을 제거하십시오.

    npm 제거 -g @ angular / cli

  3. npm vesrion <5.x 인 경우

    npm 캐시 정리

  4. 캐시 확인

    npm 캐시 확인

  5. 특정 버전 설치

    npm install -g @ angular / cli @ major.minor.patch

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