1. ホーム
  2. angular-cli

[解決済み] Angular CLI のグローバルバージョンがローカルバージョンより大きい

2022-03-20 08:50:40

質問

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

警告は

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

解決方法は?

回答として、ツールを動作させるためには、グローバルとローカルの両方をインストールする必要があります。

を実行しようとすると ng serve をローカルにインストールしていない(グローバルインストールのみ)アプリケーションで使用した場合、以下のエラーが発生します。

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アプリケーションのフォルダ構造内にある場合、このような素敵なエラーが発生します。

を使用することはできません。 new コマンドは、Angular CLIプロジェクトの内部で使用できます。

その他、グローバルインストールから実行できるコマンドは以下の通りです。 ng help , ng get/set と共に --global オプションで指定します。 ng version , ng doc および ng completion .

CLIのローカルインストールは、アプリケーションがビルドされた後に使用されます。この方法では、CLIの新しいバージョンが利用可能になったとき、グローバルインストールを更新することができ、ローカルインストールに影響を与えません。これは、プロジェクトの安定性にとって良いことです。ほとんどの場合 ng コマンドは、ローカルバージョンのみで意味を持ちます。 lint , buildserve など。

CLI の GitHub によると レドメ CLI を更新するには、グローバルパッケージとローカルパッケージを更新する必要があります。しかし、グローバルとローカルのバージョンが異なるCLIでも、今のところ問題なく使えています。もし、CLIのグローバル版とローカル版が同期していないことに関連するエラーが発生した場合は、ここに投稿します。