6
votes

Npx avec angular cli, comment installer @ angular / cli et l'utiliser ensuite

Je viens de trouver NPX, cet outil vous permet d'installer des packages globaux sans droits sudo. Je veux l'utiliser avec mes projets angulaires.

Je lance

dev@b7ee560044f1:~/project$ npx ng version
npx: installed 1 in 0.98s
command not found: ng

Ça a l'air bien, ça marche

Mais si je réessaye la même commande i obtiendra

dev@b7ee560044f1:~/project$ npx @angular/cli ng version
npx: installed 294 in 4.725s

Pourquoi NPX installe le package angular cli à chaque fois? Je pensais que le téléchargement du package n'était effectué qu'une seule fois et mis en cache quelque part ..

Je pensais que cette commande fonctionnerait mais ce n'est pas le cas ...

dev@b7ee560044f1:~/project$ npx -p @angular/cli ng version
npx: installed 294 in 6.391s

p>


7 commentaires

NPX s'installe en mémoire puis le supprime. Faites simplement npm i -g @ angular / cli et il sera accessible dans votre binaire.


Si vous voulez avoir une copie locale, vous pouvez faire ceci npm install @ angular / cli . Il sera enregistré localement afin que vous puissiez gérer les versions entre différents projets.


Tout à propos de NPX est qu'il vous permet de ne pas polluer votre portée globale avec des packages. npm i -g nécessite les droits SUDO


@SiddharthSinha, pourquoi npx existe-t-il alors?


Vous pouvez installer localement npm install @ angular / cli et exécuter node_modules / .bin / ng serve .


Vous n'avez pas besoin de sudo pour faire npm i -g thing docs.npmjs.com/...


semble contredire ce qui est écrit dans ce tutoriel: medium.com / @ starikovs /… Votre @ angular / cli est-il référencé dans les dépendances de développement de votre package.json ?


4 Réponses :


4
votes

Cet outil vous permet d'exécuter des commandes à partir du registre npm mais le cli n'est pas stocké localement.

PD: l'alias ng est utilisé pour remplacer complètement le nom. @ angular / cli est le nom entier ng est l'alias. Vous devriez utiliser ou exécuter npx @ angular / cli (commande) comme generate par exemple serait npx @ angular / cli generate component helloworld


0 commentaires

0
votes

-p, --package - définit le package à installer. La valeur par défaut est. Ceci n'est nécessaire que pour les packages avec plusieurs binaires si vous souhaitez appeler l'un des autres exécutables ou lorsque le nom binaire ne correspond pas au nom du package. Si cette option est fournie, elle sera exécutée telle quelle, sans interpréter @version si elle existe. Plusieurs options --package peuvent être fournies, et tous les paquets spécifiés seront installés.

Pour plus de détails, vous pouvez consulter https://www.npmjs.com/package/npx < / a>.


0 commentaires

1
votes

npx est idéalement utilisé pour installer temporairement des packages à partir de npm et les exécuter une fois, donc si vous souhaitez installer Angular CLI et continuer à l'utiliser par la suite, vous devez l'installer à l'aide de npm install commande:

$ npm install --global @angular/cli

Assurez-vous également d'utiliser le commutateur --global pour qu'il soit disponible à partir de n'importe quel emplacement de votre système.


0 commentaires

13
votes

Comme Bharat l'a déjà écrit: -p est peut-être ce que vous recherchez.

Local (Global) J'utilise @ angular / cli @ 9.0.3 code >.

Mais avec la commande suivante:

npx -p @angular/cli@8 ng new sample-application --style=scss

J'ai pu créer un nouveau projet angulaire avec la dernière version 8.x (8.2.14 ).


0 commentaires