Comment lister les packages npm installés par l'utilisateur?


630

Comment répertorier le package installé par l'utilisateur UNIQUEMENT dans npm? Quand je le fais, npm -g listil génère chaque paquet et leurs dépendances, ce qui n'est pas ce que je veux.

Réponses:


1247

Cela fonctionne assez bien aussi: npm list -g --depth=0

  • npm : l'outil de ligne de commande du gestionnaire de packages Node
  • list -g : affiche une arborescence de chaque package trouvé dans les dossiers de l'utilisateur (sans l'option -g, il affiche uniquement les packages du répertoire actuel)
  • depth 0 / - depth = 0 : évitez d'inclure les dépendances de chaque package dans l'arborescence

Retourne un résultat vide. Ma version npm est 3.6.0.
Bagusflyer

4
Pourquoi l' --depth=0option n'est pas mentionnée lorsque je cours npm help ls?
Marecky

Si vous installez vos modules dans un autre dossier à l'aide de --prefix, vous devez ajouter le --prefixtrop dans cette npm listcommande.
Sany Liew

1
Il pourrait également être bon d'ajouter | grep -v "duped"pour supprimer les dépendances dupliquées dans la liste
Spencer Pollock

1
fonctionnait parfaitement sur les fenêtres.
prakash ensoleillé le

132

Vous pouvez obtenir une liste de tous les modules installés globalement en utilisant:

ls `npm root -g`


13
ls -lh `npm root -g`les affiche dans une belle liste.
LanceLafontaine

3
Cette solution est beaucoup plus rapide que la meilleure votée.
DarkNeuron

3
Cette solution est sympa mais npm list -g --depth=0 qui imprime la version qui est sympa. Quoi qu'il en soit, je ne connaissais pas cette commande, alors +1 pour cela.
pixel 67

3
npm root -g | gcidans Powershell sur windows
Lars

1
cela ne fonctionne pas pour les modules @scoped
Franz Sittampalam

113

Au 13 décembre 2015

illustration de la liste npm

Bien que j'ai trouvé la réponse acceptée à 100% correcte et utile, je souhaitais l'étendre un peu en fonction de mes propres expériences et, espérons-le, pour le bien des autres aussi. (Ici, j'utilise les termes package et module de manière interchangeable)

En réponse à la question, oui, la réponse acceptée serait:

npm list -g --depth=0

Vous voudrez peut-être vérifier un module particulier installé globalement, sur les systèmes * nix / lorsque grep est disponible. Ceci est particulièrement utile lors de la vérification de la version d'un module que vous utilisez (installé globalement, supprimez simplement l'indicateur -g si vous vérifiez un module local):

npm list -g --depth=0 | grep <module_name>

Si vous souhaitez voir toutes les versions (distantes) disponibles pour un module particulier, faites ce qui suit:

npm view <module_name> versions

Remarque, les versions sont plurielles. Cela vous donnera la liste complète des versions à choisir.

Pour la dernière version à distance:

npm view <module_name> version  

Remarque, la version est singulière.

Pour savoir quels packages doivent être mis à jour, vous pouvez utiliser

npm outdated -g --depth=0

Pour mettre à jour des packages globaux, vous pouvez utiliser

npm update -g <package>

Pour mettre à jour tous les packages globaux, vous pouvez utiliser:

npm update -g

(Cependant, pour les versions npm inférieures à 2.6.1, veuillez également consulter ce lien car il existe un script spécial qui est recommandé pour la mise à jour globale de tous les packages).

Les commandes ci-dessus devraient fonctionner dans les versions NPM 1.3.x, 1.4.x, 2.x et 3.x


Pour mettre à jour un paquet global spécifique: npm update -g <package>. Je pense que updatec'est préférable installici car npm sera intelligent et ne fera l'installation que si le paquet spécifié est obsolète.
Robin A. Meade

1
@Talespin_Kit probablement screentogif
forresthopkinsa

@Talespin_Kit ShareX est FANTASTIQUE pour créer et partager des captures d'écran gif (et toutes autres captures d'écran).
Aaron Bell


20

Pour les dépendances de projet, utilisez:

npm list --depth=0

Pour les dépendances globales, utilisez:

npm list -g --depth=0

17
npm ls

npm list est juste un alias pour npm ls

Pour les informations étendues, utilisez

npm la    
npm ll

Vous pouvez toujours définir --depth=0à la fin pour obtenir le premier niveau en profondeur.

npm ls --depth=0

Vous pouvez vérifier les packages de développement et de production.

npm ls --only=dev
npm ls --only=prod

Pour afficher les informations au jsonformat

npm ls --json=true

La valeur par défaut est false

npm ls --json=false

Vous pouvez insister sur le format long pour afficher des informations détaillées.

npm ls --long=true

Vous pouvez afficher une sortie analysable au lieu d'une arborescence.

npm ls --parseable=true

Vous pouvez répertorier les packages dans le préfixe d'installation global plutôt que dans le projet en cours.

npm ls --global=true
npm ls -g // shorthand

Une documentation complète que vous pouvez trouver ici .


8

Le nœud a un concept de modules locaux et de modules globaux

Les modules locaux sont situés dans le répertoire de projet actuel.

Les modules globaux sont généralement situés dans le répertoire personnel de l'utilisateur, bien que nous puissions changer le chemin où résident les modules globaux.

  1. Répertorie les modules locaux dans le répertoire actuel: npm list
  2. Liste les modules globaux: npm list --globalOU npm list --g // Il listera tous les modules de niveau supérieur avec ses dépendances
  3. Répertorier uniquement les modules globaux de niveau supérieur (modules installés): npm list -g --depth=0

7

Une façon pourrait être de trouver le répertoire racine des modules en utilisant:

npm root
/Users/me/repos/my_project/node_modules

Et puis listez ce répertoire ...

ls /Users/me/repos/my_project/node_modules
grunt                   grunt-contrib-jshint

Les packages installés par l'utilisateur dans ce cas sont grunt et grunt-contrib-jshint


1
Pourquoi ne pas utiliser la commande officielle npm intégrée? npm list -g --depth=0
Kukks

De cette façon, le développeur pourrait comprendre ce qui se passe sous le capot
obimod

1
Ce n'est pas correct à 100%. Lorsque j'exécute la commande, npm root il me dit: Users/me/node_modules ce qui n'est pas correct. Mes node_modules vivent ailleurs. Je suppose que cela dépend de la façon dont vous installez le nœud. J'utilise brewpour installer mon logiciel. Je suppose que c'est si vous installez un nœud à partir de leur site Web à l'aide de leur programme d'installation de package?
pixel 67

Je pense que cela dépend de vos variables d'environnement. Découvrez les vars $ NPM ... définis dans votre environnement. J'ai une configuration personnalisée, utilisant virtualenv et le crochet d'activation pour réécrire complètement $ PATH à partir de zéro en fonction de ce que le projet utilise.
obimod

2
Pour moi, mon npm s'est cassé donc je ne pouvais pas utiliser les commandes. Je voulais faire une réinstallation complète donc j'avais besoin de savoir quels packages j'avais installés globalement pour reconstruire.
bryjohns

6

Pour voir la liste de tous les packages installés.

$ npm ls --parseable | awk '{gsub(/\/.*\//,"",$1); print}'| sort -u

affiche la parsable de la liste des packages npm https://docs.npmjs.com/cli/ls#parseable


C'est bien! Comment puis-je simplement afficher les dépendances des développeurs?
Michael Bruce

5

J'utilise npm -g outdated --depth=0pour lister les versions obsolètes
dans l'espace global.


3

Node_modules contient des packages installés par l'utilisateur, modifiez donc le répertoire en node_modules et répertoriez les éléments. Les modules principaux sont définis dans la source du nœud dans le lib/dossier.

Example:

     example@example:~/:~/node_modules$ ls
     express  maxmind-native  node-whois  socket.io  ua-parser-js
     geoip    mongoskin       pdfkit      tail       zeromq
     maxmind  nodemailer      request     ua-parser  zmq


2

Utiliser npm listet filtrer par contient en utilisantgrep

Exemple:

npm list -g | grep name-of-package

2

En raccourci, vous pouvez exécuter:

npm ls -g --depth=0

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.