実行時に、ng serve
グローバル CLI バージョンがローカル バージョンよりも大きいという警告が表示されます。この警告から問題に気付くことはありませんが、2 つのバージョンを同期させる必要があるかどうか疑問に思っています。また、グローバル バージョンがある場合、ローカル バージョンも必要ですか?
警告:
グローバル Angular CLI バージョン (1.1.1) は、ローカル バージョン (1.0.6) よりも新しいバージョンです。ローカル Angular CLI バージョンが使用されます。
ベストアンサー1
質問の 1 つに答えると、ツールが機能するにはグローバル インストールとローカル インストールの両方が必要です。
ng serve
CLI のローカルインストールなし (グローバルインストールのみ) でアプリケーションを実行しようとすると、次のエラーが発生します。
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
build
serve
CLI GitHubによるとリードミーCLI を更新するには、グローバル パッケージとローカル パッケージを更新する必要があります。ただし、グローバル バージョンとローカル バージョンが異なる CLI をこれまで問題なく使用してきました。グローバル バージョンとローカル CLI バージョンの同期が取れていないことに関連するエラーに遭遇した場合は、ここに投稿します。