node.js - tutorial - Trouver la version d'un paquet npm installé




npm version (14)

Comment trouver la version d'un paquet node.js / npm installé?

Cela imprime la version de npm elle-même:

npm -v <package-name>

Cela imprime une erreur cryptique:

npm version <package-name>

Cela 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 la version installée ?


Accédez au package.json

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

notepad ./node_modules/:packageName/package.json

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

Par exemple :

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

Bonne chance.


De la racine du paquet faire:

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

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

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


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

Maintenant tout ce que j'ai à faire est de taper:

  • npmv pour la version de npm par exemple: La NPM version is: 4.2.0
  • npmv <nom-package> pour la version locale, par exemple: 0.8.08
  • npmv <nom-paquet> 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 commande couper signifie: délimiter par, suivi de @, alors f signifie que le champ 2 signifie le deuxième champ puisqu'il y aura un des deux côtés du symbole @.


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

qnm - Un utilitaire CLI simple pour 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 installé lodash à la racine du node_modules et deux autres copies dans les node_modules de cli-table2 et karma .

C'est vraiment rapide, et a quelques fonctionnalités intéressantes comme l'achèvement de l'onglet et la recherche de correspondance.


La combinaison de certaines des réponses ci-dessus produit une recherche super simple et super rapide. Exécuter à partir de la racine du projet. Pas besoin de cd dans un dossier, juste 1 ligne:

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


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


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

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

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

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

Cela va imprimer la version du paquet actuel. Vous pouvez également le modifier pour devenir fou, comme ceci:

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

Cela imprimera la version du package WHATEVER_PACKAGE_NAME , qui est visible par la npm version .


Un autre moyen rapide de découvrir quels paquets sont installés localement et sans leurs dépendances est d'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]

Évidemment, 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 .


Voici un one-liner portable Unix (utilisant grep et sed ) qui retourne la chaîne de version d'un paquet npm installé globalement (supprimez le g de -pg pour interroger les paquets locaux à la place):

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

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


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

Supposons que ma version de module grunt est 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

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 - retourne les versions de tous les modules et dépendances.

Et enfin pour obtenir la version de node -v : node -v


npm info YOUR_PACKAGE version

par exemple

npm info grunt version
0.4.5






npm