npm "voulu" vs "dernière minute"
- Je utiliser npm
d'installer quelques outils en ligne de commande. Ayant la démangeaison d'être toujours à jour, j'ai trouvé la commande npm -g outdated
.
Quelle est la différence entre les colonnes wanted
et latest
?
Les états de documentation:
Le champ résultant "voulu" indique la version la plus récente selon l'
la version spécifiée dans le package.json, le domaine de "dernière minute" de la très
dernière version du package.
Cependant je ne trouve pas ça très clair.
Par exemple, sur mon système, j'obtiens:
Package Current Wanted Latest Location
cordova 5.3.1 5.3.3 5.3.1 lib
npm 3.3.4 3.3.4 3.3.3 lib
Comment peut - wanted
être plus élevé que latest
? Il semble contredire:
le domaine de "dernière minute" de la dernière version du package
Quelle version dois-je mise à jour (je n'utilise que la ligne de commande, pas tout node.js le code)?
- Quelle est la version de la ngp utilisez-vous? Ce n'est pas le moindre sens. Ceux qui voulaient des versions n'a même pas existe selon npmjs.com
npm --version
dit3.3.4
, qui correspond à ce quenpm -g outdated
montre.- Le
outdated
commande npmjs.com grad les numéros de version et le site web d'état qui 3.3.3 est en effet le "dernier" npmjs.com/package/npm. Ce qui pourrait expliquer la divergence des chiffres. Cependant, la façon dont vous avez fini avec le 3.3.4 est un mystère. Peut-être qu'il a eu une version beta ou quelque chose? - Où avait-il pris la
wanted
valeur? Pour être honnête, au début je nenpm -g update
. Puis quand j'ai vu quenpm
était encore dans l'ancienne liste, je n'ainpm -g update npm
. Vous ne savez pas si c'est pertinent. - Je suis à l'aide du n de gérer nœud versions c'est la sortie de façon incohérente trop.
- Le
latest
n'est pas la vraie dernière, c'est un dist-tag. Le mécanisme national de prévention package 'suivant' pour la version la plus récente et la plus récente pour le plus vieux. - Il semble que le NPM documentation sur la
outdated
de commande a été mis à jour et est maintenant décrit les différences clairement:
Vous devez vous connecter pour publier un commentaire.
La
wanted
champ n'a pas de sens dans le contexte d'une --global exécuter en tant qu'il n'y a pas depackage.json
pour définir la version dont vous avez besoin.La dernière version me semble aussi un bon choix si vous aimez vivre sur le bord.
La colonne semble comme un bug, il est rapporté dans github de nombreux fois.
Mise à jour (après vérification de la source)
Les documentations semble un peu trompeur, donc permet de préciser:
Comme il n'existe aucun paquet.json, la version contraindre utilisé est " * " (set ici).
Puis la version est la version la plus récente du paquet selon semver.
C'est pas vrai, ce que vous obtenez est la dist-tag "plus tard", qui correspond à la dernière version (voir ici). Il y a quelques paquets qui utilise ces balises pour gérer ce qui montre (comme mnp).
Il semble que le bord est voulais.
*
, mondial de paquets qui ont été installés manuellement auradep.package._requested.spec
(_requested.spec
ajouté pour le modulepackage.json
fichier), qui est la spécification de la version requise pour l'installation. Ainsi, aprèsnpm install -g [email protected]
la version 4.0.0 plutôt que plus tard.Mise à jour:
Sur ma machine actuellement
npm -g outdated
montre:La version
3.5.0
existe aussi une version sur github, mais n'a pas encore été publié à la ngp. C'est donc en quelque sorte faire capté à partir de là, mais dissimuler le mécanisme national de prévention de la source, je ne pouvais pas trouver toutes les preuves à l'appui de cet argument.De la la documentation officielle:
D'élaborer:
npm
vous permet de spécifier une gamme de versions de votre colis.json, des exemples sont disponibles ici. La version maximale qui peut être logé dans la plage spécifiée est lawanted
colonne.Ce peut être différent de la version installée (si) parce que package.json peuvent avoir changé dans l'intervalle, ou l'auteur peut avoir poussé une nouvelle version mineure entre les deux.
package.json
comme il est en cours d'exécution avec l'option --global