web-dev-qa-db-fra.com

Trouver la version d'un paquet npm installé

Comment trouver la version d'un noeud installé.js/npm package?

Ceci affiche la version de npm elle-même:

npm -v <package-name>

Cela imprime une erreur cryptique:

npm version <package-name>

Ceci imprime la version du paquet sur le registre (c'est-à-dire la dernière version disponible):

npm view <package-name> version

Comment puis-je obtenir le version installée?

1957
Laurent Couvidou

npm list pour les packages locaux ou npm list -g pour les packages installés globalement.

Vous pouvez trouver la version d'un paquet spécifique en passant son nom en tant qu'argument. Par exemple, npm list grunt aura pour résultat:

projectName@projectVersion /path/to/project/folder
└── [email protected]

Alternativement, vous pouvez simplement exécuter npm list sans passer un nom de paquet en tant qu'argument pour voir les versions de tous vos paquets:

├─┬ [email protected] 
│ └── [email protected] 
├── [email protected] 
├── [email protected] 
├─┬ [email protected] 
│ ├── [email protected] 
│ └── [email protected] 
└── [email protected] 
2321
TheHippo

Un autre moyen rapide de savoir quels paquets sont installés localement et sans leurs dépendances consiste à utiliser:

npm list --depth=0

Ce qui vous donne quelque chose comme

├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]

Evidemment, la même chose peut être faite globalement avec npm list -g --depth=0.

Cette méthode est plus claire si vous avez installé beaucoup de paquets.

Pour savoir quels paquets doivent être mis à jour, vous pouvez utiliser npm outdated -g --depth=0.

804

npm view <package> version - renvoie la dernière version disponible sur le package.

npm list --depth=0 - renvoie les versions de tous les modules installés sans dépendances.

npm list - renvoie les versions de tous les modules et dépendances.

Et enfin pour obtenir la version du noeud: node -v

197
Salvador Dali
npm info YOUR_PACKAGE version

par exemple.

npm info grunt version
0.4.5
75
David Beckwith

Je viens d'utiliser

npm list | grep <package name>

et cela a très bien fonctionné

Sur les fenêtres, exécutez:

npm list | find <package name>

Dans PowerShell, exécutez:

npm list | sls <package name>
53
chrissavage

À la racine du paquet, faites:

node -p "require('./package.json').version"

EDIT: (vous devez donc cd dans le répertoire de base du module si vous n'y êtes pas déjà. Si vous avez installé le module avec npm install, alors ce sera sous node_modules/<module_name>)

EDIT 2: mis à jour selon la réponse de @ jeff-dickey

41
Fergie

Vous pouvez également vérifier la version avec cette commande:

npm info <package name> version

21
Sobin Sunny

Pour les forfaits locaux

npm list --depth=0

Pour les forfaits globaux

npm list  -g --depth=0
19
Farhan Yaseen

En combinant certaines des réponses ci-dessus, on obtient une recherche extrêmement simple et rapide.
Exécuter à partir de la racine du projet. Pas besoin de cd dans n'importe quel dossier, juste 1 ligne:

node -p "require('SOMEPACKAGE/package.json').version"

14
JoshuaDavid

Si vous êtes assez courageux (et avez installé node), vous pouvez toujours faire quelque chose comme:

echo "console.log(require('./package.json').version);" | node

Ceci imprimera la version du paquet actuel. Vous pouvez également le modifier pour qu'il devienne fou, comme ceci:

echo "eval('var result='+require('child_process').execSync('npm version',{encoding:'utf8'})); console.log(result.WHATEVER_PACKAGE_NAME);" | node

Cela va imprimer la version du paquet WHATEVER_PACKAGE_NAME, qui est vue par npm version.

13
KundraLaci

Si vous acceptez d'installer jq , vous pouvez utiliser la sortie JSON de npm list.

npm -j ls <package-name> | jq -r .version

ou, si vous voulez être prolixe

npm --json list <package-name> | jq --raw-output '.version'

Par exemple:

$ npm -j ls ghost | jq -r .version
0.4.2

De plus, le format JSON est légèrement différent pour les packages globaux. Vous devez donc modifier la requête.

Par exemple:

$ npm -j -g ls | jq -r .dependencies.ghost.version
0.4.2
13
Benoit Blanchon

Pour voir tous les packages installés localement ou globalement, utilisez ces commandes:

  1. npm list pour les packages locaux ou npm list -g pour les packages installés globalement.
  2. npm list --depth=0
  3. npm list | sls <package name>
  4. node -v
11
Shekhar Tyagi

Vous pouvez utiliser npm view [module] version, npm info [module] version, npm show [module] version ou npm v [module] version pour vérifier la version sur un module npm installé.

Supposons que ma version du module Grunt soit la 0.4.5:

npm view grunt version => 0.4.5
npm info grunt version => 0.4.5
npm show grunt version => 0.4.5
npm v grunt version    => 0.4.5
9
Sérgio

J'ai construit un outil qui fait exactement cela - qnm

qnm - Un utilitaire CLI simple permettant d'interroger le répertoire node_modules.

Installez-le en utilisant:

npm i --global qnm

et courir:

qnm [module]

par exemple:

> qnm lodash

lodash
├── 4.17.5
├─┬ cli-table2
│ └── 3.10.1
└─┬ karma
  └── 3.10.1

Ce qui signifie que nous avons lodash installé dans la racine du node_modules et deux autres copies dans le node_modules de cli-table2 et karma.

C'est vraiment rapide et a quelques fonctionnalités intéressantes comme la complétion par onglets et la recherche de correspondances.

8
Ran Yitzhaki

Essayez avec:

npm list --depth 1 --global packagename
8
Eduardo Cuomo

Voici un Unix portable (utilisant grep et sed) une ligne qui renvoie la chaîne de version d’un paquet npm installé globalement (supprimez le g de -pg pour interroger le paquets à la place):

$ npm ll -pg --depth=0 grunt | grep -o "@.*:" | sed 's/.$//; s/^.//'
0.4.5
  • le npm ll génère une chaîne analysable formatée comme suit: /usr/lib/node_modules/npm:[email protected]:;
  • la commande grep extrait la valeur entre @ et :, inclus;
  • la commande sed supprime les caractères environnants.
6
wjordan

J'ai ajouté ceci à mon .bashrc

function npmv {
    case $# in # number of arguments passed
    0) v="$(npm -v)" ; #store output from npm -v in variable
        echo "NPM version is: $v"; #can't use single quotes 
                                   #${v} would also work
    ;;   
    1) s="$(npm list --depth=0 $1 | grep $1 | cut -d @ -f 2)";
       echo "$s";
    ;;
    2) case "$2" in # second argument
        g) #global|#Syntax to compare bash string to literal
             s="$(npm list --depth=0 -g $1 | grep $1 | cut -d @ -f 2)";
        echo "$s";
        ;;
        l) #latest
             npm view $1 version; #npm info $1 version does same thing
       ;;
       *) echo 'Invalid arguments';
       ;;
       esac;
    ;;
    *) echo 'Invalid arguments';
    ;;
    esac;
}
export -f npmv

Il ne me reste plus qu'à taper:

  • npmv pour la version de npm, par exemple: NPM version is: 4.2.0
  • npmv <nom-package> pour la version locale, par exemple: 0.8.08
  • npmv <nom-package> g pour la version globale, par exemple: 0.8.09
  • npmv <nom-paquet> l pour la dernière version, par exemple: 0.8.10

Remarque: -d sur la commande de coupure signifie délimiter par, suivi de @, puis f signifie que le champ 2 signifie deuxième champ car il y aura un côté du symbole @.

5
JGFMK

Vous pouvez essayer ceci: npm show {package} version montre la dernière version du paquet. Et si votre paquet est obsolète, npm outdated l'affichera avec les informations de version.

5
Aliaksei

C'est une question simple, et devrait avoir une réponse plus simple que ce que je vois ci-dessus.

Pour voir les packages npm installés avec leur version, utilisez la commande npm ls --depth=0, qui affiche par défaut les éléments installés localement. Pour voir les packages installés globalement, ajoutez l'argument -global: npm ls --depth=0 -global.

--depth=0 renvoie une liste des packages installés sans leurs dépendances, ce que vous voulez faire la plupart du temps.

ls est le nom de la commande et listest un alias pour ls.

4
zumafra

npm list --depth 0 est la commande qui affiche toutes les bibliothèques avec la version, mais vous pouvez utiliser npm-check.

npm-check est une bonne bibliothèque pour gérer tout ce qui concerne l'événement système. Elle affichera les versions des bibliothèques, la mise à jour de la nouvelle version, la version non utilisée et bien d'autres.

pour l'installer il suffit de lancer

npm install -g npm-check

et simplement courir

npm-check

vérifiez la capture d'écran, elle montre tout ce qui concerne la version du paquet, la mise à jour de la nouvelle version et la version non utilisée.

enter image description here

Cela fonctionne globalement aussi. Essaie. J'espère que cela aidera quelqu'un.

3
Mahendra Pratap

Pour lister les packages locaux avec le numéro de version, utilisez:

npm ls --depth = 0

Pour lister les packages globaux avec le numéro de version, utilisez:

npm ls -g --depth = 0

3
kavigun

Accéder au package.json

Vous pouvez accéder au package.json ou bower.json du paquet avec:

notepad ./node_modules/:packageName/package.json

Cela ouvrira le package.json dans notepad qui a le version number du :packageName que vous avez inclus dans le command.

Par exemple :

notepad ./node_modules/vue-template-compiler/package.json

Bonne chance.

2
Akash

Nous pouvons utiliser npm view any-promise (nom de votre module) -v

2
Nitin Tyagi