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>
4 Réponses :
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
-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>.
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 Assurez-vous également d'utiliser le commutateur npm install commande:
$ npm install --global @angular/cli
--global
pour qu'il soit disponible à partir de n'importe quel emplacement de votre système.
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 ).
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 droitsSUDO
@SiddharthSinha, pourquoi npx existe-t-il alors?
Vous pouvez installer localement
npm install @ angular / cli
et exécuternode_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 votrepackage.json
?