2017-06-13 15 views
61

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

警告:

Your global Angular CLI version (1.1.1) is greater than your local version (1.0.6). The local Angular CLI version is used.

+1

を確認するために、最新の

npm uninstall --save-dev angular-cli npm install --save-dev @angular/[email protected] npm install 

にローカルバージョンを更新します誰もが*に答えることはできますか? – Rap

答えて

126

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

ローカルインストールを行わずにアプリケーションを実行しようとすると(グローバルインストールのみ)、次のエラーが発生します。

You have to be inside an Angular CLI project in order to use the serve command.

また、このメッセージが出力されます:

Please take the following steps to avoid issues: 
"npm install --save-dev @angular/[email protected]" 

実行npmコマンドはローカルCLIを更新すると、あなたが取得している警告を回避します。

その他の質問:彼らはが同期するを持っていないが、それは彼らがツール、またはツールが生成するコードと矛盾して異常な動作を避けるためにあることをおそらく最高だように見えます。

グローバルインストールとローカルインストールの両方が必要なのはなぜですか?

新しいアプリケーションを起動するには、グローバルインストールが必要です。 ng new <app-name>コマンドは、CLIのグローバルインストールを使用して実行されます。既存のCLIアプリケーションのフォルダ構造の内部ながらng newを実行しようとした場合、実際には、あなたはこの素敵なエラーが出る:インストールグローバルから実行することができます

You cannot use the new command inside an Angular CLI project.

他のコマンドは--globalng helpng get/setありますオプション、ng versionng doc、およびng completionです。

CLIのローカルインストールは、アプリケーションの構築後に使用されます。このようにして、新しいバージョンのCLIが利用可能になると、グローバルインストールを更新し、ローカルインストールに影響を与えません。これはプロジェクトの安定性に良いことです。ほとんどのngコマンドは、あなたがグローバルとローカルのパッケージを更新する必要がありますCLIを更新するために、CLI GitHubのreadmeによるとlintbuildserveなど

のように、ローカルバージョンで意味をなします。しかし、私はCLIを使用していますが、現時点ではグローバルバージョンとローカルバージョンが変わりません。グローバルとローカルのCLIバージョンが同期していないことに関連してエラーが発生した場合は、ここに掲載します。

+0

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

+0

CLIのローカルバージョンは、CLIプロジェクトディレクトリでコマンドを実行するときにデフォルトで使用されます。それは警告の中でそれほど言います。 –

+0

しかし、私はなぜこのソリューションが私のために働いていないのかわかりません。私のangle-cli = "^ 1.0.6"の値として私のpackage.jsonに言及すればどうなるでしょうか?それはうまくいくが、まだ何が起こっているのか分からない。 –

-7

宣言にNouisliderComponentをインポートではなく入れてください。以下のURLをご参照ください多くのための

@NgModule({ 
declarations: [ 
AppComponent, 
NouisliderComponent 
], 
imports: [ 
BrowserModule, 
FormsModule, 
HttpModule, 

], 
providers: [], 
bootstrap: [AppComponent] 
}) 
export class AppModule { }` 

は: https://github.com/tb/ng2-nouislider/issues/38

30

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

Install latest Angular CLI package locally

-9

おかげで、私はお勧めしません代替があるアップデート素晴らしい作品。

ng set --global warnings.versionMismatch=false 
+0

これは不一致の警告を無効にするためのものであり、あまり良い選択肢ではありません。 –

+0

これは答えではなく、混乱を招く可能性があります。 –

1

これは私の作品:*私たちは、ローカルとグローバルの両方を必要とする理由 それはバージョン

ng --version 
+0

私はこれを旧式のWindozeバッチコマンドに変換しました: CALL npm uninstall -save-dev @ angular/cli npm install --save-dev @ angular/cli @latest CALL npm install CALL ng --version –

関連する問題