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?
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]
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
.
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
npm info YOUR_PACKAGE version
par exemple.
npm info grunt version
0.4.5
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>
À 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
Vous pouvez également vérifier la version avec cette commande:
npm info <package name> version
Pour les forfaits locaux
npm list --depth=0
Pour les forfaits globaux
npm list -g --depth=0
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"
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
.
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
Pour voir tous les packages installés localement ou globalement, utilisez ces commandes:
npm list
pour les packages locaux ou npm list -g
pour les packages installés globalement.npm list --depth=0
npm list | sls <package name>
node -v
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
J'ai construit un outil qui fait exactement cela - qnm
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.
Essayez avec:
npm list --depth 1 --global packagename
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
npm ll
génère une chaîne analysable formatée comme suit: /usr/lib/node_modules/npm:[email protected]:
;grep
extrait la valeur entre @
et :
, inclus;sed
supprime les caractères environnants.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:
NPM version is: 4.2.0
0.8.08
0.8.09
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 @.
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.
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 list
est un alias pour ls
.
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.
Cela fonctionne globalement aussi. Essaie. J'espère que cela aidera quelqu'un.
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
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
.
notepad ./node_modules/vue-template-compiler/package.json
Bonne chance.
Nous pouvons utiliser npm view any-promise (nom de votre module) -v