ローカルバージョンよりも新しいグローバルAngular CLIバージョン


353

実行するng serveと、グローバルCLIバージョンがローカルバージョンよりも大きいという警告が表示されます。この警告で問題に気づくことはありませんが、2つのバージョンを同期させる必要があるかどうか疑問に思っていましたか?また、グローバルバージョンがある場合、ローカルバージョンが必要ですか?

警告:

Angular CLIのグローバルバージョン(1.1.1)がローカルバージョン(1.0.6)よりも新しい。ローカルのAngular CLIバージョンが使用されます。


43
ローカルとグローバルの両方が必要な理由を誰かが答えることはできますか?
ラップ

回答:


464

質問の1つに答えるには、ツールを機能させるためにグローバルとローカルの両方のインストールが必要です。

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 helpng get/set--global、オプションng versionng docng completion

CLIのローカルインストールは、アプリケーションのビルド後に使用されます。これにより、CLIの新しいバージョンが利用可能になったときに、ローカルインストールに影響を与えずに、グローバルインストールを更新できます。これはプロジェクトの安定性に役立ちます。ほとんどngのコマンドは唯一のように、ローカルバージョンで意味をなすlintbuildそしてserve、などを

CLI GitHub readmeによると、CLI を更新するには、グローバルパッケージとローカルパッケージを更新する必要があります。ただし、これまでグローバルバージョンとローカルバージョンが問題なくCLIを使用してきました。グローバルとローカルのCLIバージョンが同期していないことに関連するエラーが発生した場合は、ここに投稿します。


cliを更新する代わりに方法はありません。たとえば、既存のcliバージョンでモジュールのインストールを実行したいです。またはコマンドを実行するときに強制的にグローバルCLIではなくローカルCLIを使用する方法はありませんか?
Mohammed Yassine CHABLI 2017

3
CLIプロジェクトディレクトリでコマンドを実行する場合、デフォルトでCLIのローカルバージョンが使用されます。それは警告でも同じように述べています。
R.リチャーズ

しかし、なぜこのソリューションがうまくいかないのかわかりません。私のangular-cli = "^ 1.0.6"の値としてpackage.jsonで言及した場合はどうなりますか?それはうまくいきますが、何が起きているのか理解できませんか?
Mohammed Yassine CHABLI 2017

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

1
@ダグ正解です。以前のバージョンのCLIを使用するプロジェクトでこれらのコマンドを実行すると警告が表示されますが、無視できます。すべての警告は、バージョンが異なることを示しており、ローカルCLIが使用されます。
R.リチャーズ

152

これは私が問題を解決した方法です。

最新のAngular CLIパッケージをローカルにインストールする

これらのコマンドをコピーして実行する

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

1
ステップ1.5(追加する場合)を追加しますrm node_modules/.bin/ng。完璧に働きました。
ブレトニクス

41

これは私にとってはうまくいきます:ローカルバージョンを最新に更新します

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

バージョンを確認する

  ng --version

これを古いSkool Windozeバッチコマンドに変換しました:CALL 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はAngularバージョン5.0.0以降とのみ互換性があります。Angularを更新する方法については、以下のリンクにアクセスしてください。angular
Aggie Jon of 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-ng updateを支援しました@ 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

まず、次を実行して、angular-cliのグローバルバージョンを確認します。

ng --version

上記のコードは、どのバージョンがグローバルおよびローカルのangular-cliバージョンであるかを示します。

グローバルとローカルの角度cliを同じにしたい場合は、

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

ここで、1.7.4はあなたのグローバルangular-cliバージョンです

次に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

これは問題を解決するはずです:

ng update @angular/cli @angular/core

0

これらのことをするだけ

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

1
この質問は3年近く経過しており、14の既存の回答があるため、既存のすべての回答ではカバーされなかった価値がある理由を説明すると、回答の価値がはるかに高くなります。
デビッドバック

-1

npm install --save-dev @ angular-devkit / build-angular-ng updateを支援しました@ 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 --version

  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.