Fermer

avril 7, 2018

Gestionnaire de paquets Rumble


Cet article compare les systèmes de gestion de paquets pour JavaScript, y compris npm, Yarn, Bower et jpsm.

Avec la discussion sur comment utiliser JavaScript vient la discussion des gestionnaires de paquets. Les modules nous aident à utiliser l'outillage que nous et d'autres développeurs fabriquons parce que POURQUOI passeriez-vous du temps à réécrire quelque chose qui existe déjà et qui fonctionne bien? Si cette question ne vous vient pas à l'esprit ou n'a pas été répétée lors d'une réunion d'équipe au moins une fois en 2017, vous vous trompez peut-être. Just sayin.

 vraiment? n'est-ce pas?

Heureusement, nous avons des équipes qui créent de meilleures et de meilleures expériences pour nous d'installer et d'organiser ces modules. npm Fil et Bower sont toujours les leaders de la meute … des outils de gestion d'âge, mais je voulais aussi jeter jspm . Avec près de deux millions d'installations cette année, jspm est toujours en pleine expansion. Maintenant, cela ne va pas être une bagarre de gestionnaire de paquets, malgré le titre de ce post. Je vais vous donner l'info et vous pouvez décider ce que cela signifie pour vous. ? Je ne mentirai pas: j'utilise npm et j'aime leur équipe et ce qu'ils font une tonne. Donc, si je trouve biaisé, c'est probablement parce que je le suis

 que puis-je dire

The Digits

Jetons d'abord un coup d'œil aux installations comparatives de l'année. Il semble y avoir un niveau de séparation presque constant entre chacun de ces gestionnaires de paquets. npm a toujours une avance importante sur le fil, mais est moins que le double des installations de Bower. L'une des premières choses qui a attiré mon attention est le schéma évident des statistiques d'installation en pente. Bien que jspm semble être en train d'écraser le fond, il a quand même atteint près de deux millions d'installations cette année.

https://npm-stat.com/

npm

45,073,457 installations

C'est assez clair pour voir qu'il y avait de nombreux aspects de Yarn que les utilisateurs ont aimé: la vitesse, le fichier de verrouillage …

TODO: quels autres aspects?

?juste de rigoler! Bien que ce soit vraiment ma note, merci TJ VanToll pour avoir reconnu le spin comique. Blague à part, Yarn a attiré l'attention l'année dernière à cause de son soutien sur Facebook et de ses solutions aux problèmes des utilisateurs de npm comme les installations lentes et les erreurs causées par les incohérences des versions de paquetages.

des choses. L'un des principaux objectifs de cette version était d'augmenter leur vitesse, ce qui, bien sûr, a provoqué des titres de blog incroyables comme, "npm @ 5 – Yarn killer" de Nikhil John. Avec cette mise à jour, npm est sensiblement plus rapide


Regardez cette vitesse!

Cette mise à jour incluait aussi un fichier package.lock qui a les mêmes avantages que yarn.lock en conservant la cohérence de vos versions de paquet, et en supprimant npm-shrinkwrap. Ils ont apporté un - save par défaut à tout paquet que vous installez, ce qui vous permet d'économiser ces touches, si importantes. Un de mes ajouts préférés est le runner npx de npm . Une chose intéressante que npx vous permet de faire est d'utiliser des paquets par projet au lieu d'avoir à enregistrer globalement des paquets sur votre machine. Il y a beaucoup plus à faire, allez voir l'impressionnant post de Kat Marchán pour en savoir plus. Il y a aussi plus de fonctionnalités en général sur la version 5, vous pouvez consulter leur blog pour plus d'informations

yarn

11,851,948 installations

Même avec les mises à jour en npm 5, Le fil est encore plus rapide. Oh, vous voulez voir la comparaison de vitesse mise à jour sur le quotidien? Eh bien, Thomas Schaaf a juste le truc. C'est vrai, ici il a un doc Google avec des mises à jour de comparaison de vitesse quotidiennes.

 npm v comparaison de vitesse de fil https://github.com/thomaschaaf/npm-vs-yarn

Yarn est sur la version 1 et reste rapide en mettant en cache des paquets et en utilisant des opérations parallèles. La mise en cache de paquets téléchargés signifie également que vous les avez disponibles, que vous ayez ou non une connexion réseau. Yarn a également mis l'accent sur la sécurité en utilisant checksums (essentiellement, le résultat d'un algorithme comparant les informations que vous générez et les informations fournies par le paquet pour s'assurer qu'ils correspondent) pour vérifier les paquets avant d'exécuter son code. a hésité à adopter Yarn parce que c'est une technologie plus récente, mais parce qu'elle est créée et soutenue par Facebook, elle rend le choix moins risqué que la plupart des technologies jeunes. Bien que npm semble avoir presque quatre fois plus d'installations que le fil, il est important de noter que le fil ne recommande pas l'installation via npm.

Note: L'installation de fil via npm n'est généralement pas recommandée. Lors de l'installation de Yarn avec des gestionnaires de paquets basés sur des nœuds, le paquet n'est pas signé et la seule vérification d'intégrité effectuée est un hachage SHA-1 de base, ce qui constitue un risque de sécurité lors de l'installation d'applications.

Il est fortement recommandé d'installer Yarn selon la méthode d'installation qui convient le mieux à votre système d'exploitation.

guides d'installation du fil

Accordez-vous l'année prochaine pour voir ce qu'il adviendra du fil en 2018, dun duuuuun ?. Bower

28,133,666 installations

Il s'agissait d'un nombre beaucoup plus important d'installations que je ne l'aurais jamais supposé, arrivant en deuxième place et doublant le nombre de fils. Bower est toujours le gestionnaire de paquets le plus populaire de frontend mais BUT, alors qu'il est toujours maintenu, l'équipe de Bower recommande aux utilisateurs de passer à Yarn et Webpack. En octobre de cette année, Adam Stankiewicz a fait un post sur le blog de Bower sur la façon de migrer de Bower en montrant son dépôt, bower-away qu'il avait créé en juillet. Pourtant, les numéros d'installation de cette année montrent Bower avec plus du double de la quantité d'installations de Yarn, donc nous verrons comment cela se passe. ? Si vous avez envie d'une longue lecture, jetez un coup d'œil à ce numéro clos pour savoir s'il faut ou non désapprouver Bower.

 popcorn time

Je ne suis pas sûr

Une chose qu'ils ne prennent pas en compte est le nombre d'utilisateurs qui installent Bower en fonction d'un tutoriel qu'ils suivent et ne visitent jamais leur page. Puisque ce message au public est assez récent, nous pouvons regarder les chiffres l'année prochaine pour voir l'impact qu'il a eu.

1 941 913 installations

Selon eux, "jspm est un gestionnaire de paquets pour le chargeur de module universel SystemJS, construit sur le chargeur de module dynamique ES6. " Il peut charger n'importe quel format de module (ES6, AMD, CommonJS et globals) directement depuis n'importe quel registre, comme npm et GitHub. jspm ne semble pas avoir beaucoup d'amour GitHub sous la forme de fourches et de stars, mais il y a une activité constante tout au long de cette année. Avec près de deux millions de téléchargements cette année et des téléchargements mensuels constants entre 150k et 200k tout au long de l'année, il semble que jspm a de la puissance

fourni par npm stats

The Other Ones

Ok, les regrouper tous ensemble peut sembler dur mais, soyons honnêtes, les gens ne les utilisent pas autant que npm, Bower, yarn ou jspm.

Les autres que vous pouvez demander? Aujourd'hui, nous allons regarder trois qui font actuellement le meilleur dans les installations cette année: composante pnpm et ied . Si nous regardons les graphiques, fournis par npm stats (oui, tout comme le fil, ceux-ci peuvent tous être installés en utilisant npm), pnpm domine les deux autres. Je voulais aussi montrer un graphique qui se penche sur les téléchargements mensuels à partir de février 2015. Dans ce tableau, il semble que les composantes et les éléments ont atteint leur apogée et diminuent lentement alors que pnpm est sur une trajectoire ascendante. Penchons-nous brièvement sur chaque projet

fourni par npm stats

fourni par npm stats

pnpm – 334 497 installations: De loin la plus installée de ces bibliothèques de gestion de paquets "autres" et la plus jeune du groupe ayant fait son premier commit en janvier 2016. Elle se concentre sur la rapidité d'utilisation de l'espace disque et travaille activement. Il semble actuellement être travaillé activement, ayant un commit tous les quelques jours

component – 35,340 installations: Ce projet est déprécié et n'a pas eu de validation en 2 ans, mais a toujours plus de 35 000 installations cette année

ied – 22,522 installations: Touts étant "comme npm, mais plus rapide" et a eu son premier commit en août 2015. Il est spécifiquement pour Node, a un certain ASCII tueur art mais n'a pas eu un engagement dans plus d'un an.

Seul le futur peut vraiment dire ce qui va arriver à ces «autres» bibliothèques courageuses. Bien que, il est probablement sûr de dire que le composant et le ied peuvent finalement disparaître pour ne jamais le faire dans la section supérieure du gestionnaire de paquets. C'est le monde des logiciels libres, alors ne jamais dire jamais.

Donc, le gestionnaire de paquets paie les salaires, mais en ce qui le concerne, nous avons des options pour de très bons outils de gestion des paquets. N'est-ce pas comme ça que ça devrait être? À vous de me dire. Je suis juste heureux d'avoir un excellent moyen d'installer toutes les choses dont j'ai besoin pour construire toutes les idées d'applications bizarres que j'ai dans ma tête!

Connexe: Regardez cette superbe liste des gestionnaires de paquets

Conclusion

En 2017, ECMAScript a poursuivi ses livraisons modestes mais percutantes, la gestion des paquets continue à améliorer nos expériences, nous avons d'excellents outils pour faciliter le JavaScript et nous avons plus de moyens d'utiliser les avancées du web moderne. 2017 était assez fou mais regardez tous ces points positifs que nous avons dans notre monde JavaScript. C'est vrai, je suis un optimiste! Il y a sûrement beaucoup de choses à dire dans un an, mais pour l'instant, soyons reconnaissants que JavaScript ait survécu une autre année sans tout brûler par terre ?


Les commentaires sont désactivés en mode prévisualisation.
[ad_2]
Source link