web-dev-qa-db-fra.com

Global Angular Version CLI supérieure à la version locale

Lors de l'exécution de ng serve, je reçois cet avertissement concernant le fait que ma version de l'interface de ligne de commande globale est supérieure à ma version locale. Je ne remarque aucun problème dans cet avertissement, mais je me demandais si les deux versions devaient être synchronisées? Aussi, est-il nécessaire d'avoir une version locale si vous avez une version globale?

L'avertissement:

La version globale de votre Angular CLI (1.1.1) est supérieure à votre version locale (1.0.6). La version locale de la CLI Angular est utilisée.

272
Rich

Pour répondre à l'une des questions, il est nécessaire de disposer d'une installation globale et locale pour que les outils fonctionnent.

Si vous essayez d'exécuter _ng serve_ sur une application sans l'installation locale de la CLI (installation globale uniquement), vous obtiendrez l'erreur suivante.

Vous devez être dans un projet CLI Angular pour pouvoir utiliser la commande serve.

Il imprimera également ce message:

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

Exécutez cette commande npm pour mettre à jour la CLI localement et évitez l’avertissement que vous obtenez.

Autre question: il semble qu'ils ne soient pas doivent ​​être synchronisés, mais il est probablement préférable de les éviter pour éviter tout comportement inhabituel avec l'outil ou toute incohérence avec le code généré par l'outil.

Pourquoi avons-nous besoin à la fois de l'installation globale et d'une installation locale?

L'installation globale est nécessaire pour démarrer une nouvelle application. La commande _ng new <app-name>_ est exécutée à l'aide de l'installation globale de la CLI. En fait, si vous essayez d'exécuter _ng new_ alors que vous vous trouvez dans la structure de dossiers d'une application CLI existante, vous obtenez cette jolie erreur:

Vous ne pouvez pas utiliser la commande new dans un projet CLI Angular.

Les autres commandes pouvant être exécutées à partir de l'installation globale sont _ng help_, _ng get/set_ avec l'option _--global_, _ng version_, _ng doc_ et ng completion .

L'installation locale de la CLI est utilisée après la construction d'une application. Ainsi, lorsque de nouvelles versions de la CLI sont disponibles, vous pouvez mettre à jour votre installation globale sans affecter l'installation locale. C'est bon pour la stabilité d'un projet. La plupart des commandes ng n'ont de sens qu'avec la version locale, comme lint, build et serve, etc.

Selon la CLI GitHub readme , pour mettre à jour la CLI, vous devez mettre à jour les packages global et local. Cependant, j'ai utilisé l'interface de ligne de commande où la version globale et la version locale varient sans problème jusqu'à présent. Si jamais je rencontre une erreur liée au fait que les versions de la CLI globale et locale ne sont pas synchronisées, je la posterai ici.

372
R. Richards

Voici comment j'ai résolu le problème.

Install latest Angular CLI package locally

Copier et exécuter ces commandes

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

Cela fonctionne pour moi: il mettra à jour la version locale à la dernière

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

pour vérifier la version

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

Votre configuration existante peut être mise à jour automatiquement en exécutant la commande suivante:

ng update @angular/cli

ou:

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

Puis dans votre package de projet Local:

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

Obtention de l'erreur ci-dessous Erreur: Fin inattendue de l'entrée JSON Fin inattendue de l'entrée JSON Les étapes ci-dessus vous ont été utiles à partir de ce message Impossible de mettre à jour angular vers la version 6

12
Saurabh

Exécutez la commande suivante: npm install --save-dev @angular/cli@latest

Après avoir exécuté la commande ci-dessus, la console peut afficher le message ci-dessous.

Le format de configuration de la CLI Angular a été modifié et votre configuration existante peut être mise à jour automatiquement en exécutant la commande suivante: ng update @ angular/cli

4
Tahir77667

Dans mon cas, je viens d'utiliser cette commande dans le projet:

ng update @angular/cli
4
Akostha

Je ne parle pas anglais couramment

mais si je comprends le problème, est-ce que localement dans le projet vous avez une version de CLI plus ancienne que globalement?

Et aimeriez-vous utiliser cette nouvelle version globale au lieu de la version locale la plus ancienne?

Si c'est le cas, une méthode très simple suffit à s'exécuter dans le répertoire du projet npm link @angular/cli

plus dans le sujet sur la page: https://docs.npmjs.com/cli/link

3
CisSasGot

Commencez par connaître la version globale de angular-cli en lançant

ng --version

Le code ci-dessus montrera quelle version est la version globale et locale angular-cli.

Si vous voulez que le angular cli global et local soit le même, vous pouvez simplement faire

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

où 1.7.4 est votre version globale d'angular-cli

Ensuite, si vous exécutez ng serve --open, votre code doit être exécuté.

2
vikas etagi

npm install --save-dev @ angular-devkit/build-angular - a aidé ng à mettre à jour @ angular/cli -> a créé angular.json et d’autres mises à jour.

Collecte des dépendances installées ... Trouvé 58 dépendances.

 ** 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/[email protected] requires a peer of zone.js@^0.8.4 but none is installed. You must install peer dependencies yourself.
0
MPV