Maison  >  Article  >  interface Web  >  Introduction et installation du gestionnaire de packages Node.js Yarn

Introduction et installation du gestionnaire de packages Node.js Yarn

高洛峰
高洛峰original
2017-02-04 10:30:571839parcourir

Avant-propos

Avez-vous été discrètement attiré par Yarn au cours des deux derniers jours, Facebook a récemment publié un nouveau gestionnaire de packages node.js, Yarn, pour remplacer npm ? Afin de suivre la tendance Javascript, j'ai un bref aperçu de cette gestion de paquets qui se veut rapide, fiable et sûre, donc le contenu écrit ne sera pas très détaillé, et plus peut-être juste pour cette nouvelle gestion de paquets Comparez les différences avec npm. Il se peut que certaines choses soient mal écrites. Si c'est le cas, corrigez-moi.

1. Installation

La première chose est bien sûr l'installation. Contrairement à npm, un gestionnaire de packages sélectionné et installé avec nodejs, Yarn doit être installé manuellement. C’est compréhensible, après tout, c’est une toute nouvelle chose. Mais pour être honnête, l'expérience d'installation n'est pas très bonne...

Pourquoi dites-vous cela... parce que mon environnement de développement est Arch Linux, et que la documentation officielle ne fournit que les méthodes d'installation d'apt-get Linux et yum Linux...

Depuis le L'ambition est de remplacer npm, il doit y avoir une solution de compatibilité pour toutes les plateformes. Effectivement, il existe un script d'installation manuelle adapté à toutes les distributions, j'ai donc essayé cela, mais je l'ai installé trois fois sans succès. Divers problèmes...

Enfin, j'ai découvert que fil peut en fait être installé avec npm tout comme un module :

npm install -g yarn

Un truc qui veut remplacer npm, mais il doit encore le faire être installé avec npm ? Eh bien, peu importe comment vous le dites, il est installé comme ça, donc je dis que l'expérience d'installation est juste moyenne... Peut-être que ce sera mieux pour d'autres distributions Peut-être que pour certaines distributions populaires et macOS, l'installation est une commande est tapée. dans le terminal.

Bien qu'au moment où j'ai écrit cet article, il existe déjà une méthode d'installation sur Arch Linux, mais c'est via yaourt(AUR). Cependant, je ne pense pas qu'il soit nécessaire pour les novices d'installer yaourt. Installer à nouveau Yarn est plus facile que d'installer directement nodejs, puis d'installer npm. Peut-être qu'à ce stade, Arch est encore une distribution de niche par rapport à Debian/Ubuntu/CentOS...

2 Gestion des dépendances

Ceci conclut la partie installation. Puisque vous êtes gestionnaire de packages, vous devez assumer vos responsabilités. Ensuite, je veux essayer si cette nouvelle gestion des packages est vraiment aussi magique qu’elle le prétend. Ensuite, j'ai comparé le fil avec npm et cnpm dans le même environnement. En raison de l'environnement particulier à l'intérieur du mur, le registre de npm a été remplacé par https://registry.npm.taobao.org.

PLUS RAPIDE

Avant la comparaison, je pense que cette comparaison est un peu injuste pour le fil, car npm a mis en place un miroir domestique, et au moment de la publication de cet article, le fil n'a pas avoir un miroir domestique, il n'y a donc pas de réglage spécial pour le fil. Je suis un peu inquiet de savoir si cela entraînera des erreurs dans les résultats des tests.

Puisque Yarn vient de Facebook, essayons d'abord d'installer leur React :

Introduction et installation du gestionnaire de packages Node.js Yarn

Le premier est bien sûr le fil protagoniste. Il convient de noter que la façon dont fil installe les dépendances est différente de npm. Vous devez exécuter la commande suivante pour installer les dépendances :

yarn add react
# same as npm install react

Vous pouvez voir que cela a pris. 13,3 s pour que le fil installe React , cette vitesse est également très satisfaisante.

Introduction et installation du gestionnaire de packages Node.js Yarn

Ensuite, c'est npm . Parce que npm n'affiche pas le temps de la commande, j'ai vérifié le chronomètre. Il durait environ 45 secondes, ce qui était plusieurs fois plus long que le fil. Il semble que le fil soit effectivement plus rapide que npm, et npm utilise toujours des sources nationales.

Cependant, cnpm est plus rapide et il ne faut que 4 secondes pour terminer l'ensemble du processus d'installation. Mais après tout, cnpm est un dérivé de npm, ce qui est logique. Puisque cette chose peut améliorer la vitesse de npm, qui sait s'il y aura du cyarn dans le futur ? Mais à travers ce test, nous pouvons voir que la vitesse du fil est un saut qualitatif par rapport au npm natif, et PLUS RAPIDE n'est pas en vain.

Ensuite, j'ai essayé d'installer d'autres packages et de les comparer plusieurs fois. En moyenne, Yarn est 3 à 6 fois plus rapide que npm (c'est le cas de l'installation de packages plus petits).

FIABLE/SÉCURISÉ

Quant à savoir si cette gestion de paquets est fiable/sécurisée, je n'ai pas encore pensé à comment la tester. Je sais seulement que lorsque je l'utilise, il est possible que des erreurs inexplicables soient occasionnellement signalées, mais si j'exécute la commande deux fois, elle fonctionnera à nouveau normalement. Après tout, le fil est un produit nouveau, donc c’est compréhensible. Cependant, au cours de la journée, la page d'accueil du projet GitHub de Yarn a remporté 9 000 étoiles, et il y a eu des milliers de problèmes et de demandes d'extraction, ce qui montre sa popularité, je suis donc toujours très optimiste quant à ses perspectives.

Mode hors ligne

L'un des points forts de Yarn est qu'il peut installer des dépendances hors ligne. Bien sûr, le principe est que cette dépendance a déjà été installée. Yarn mettra en cache les packages installés Si le paramètre -offline est spécifié lors de la prochaine installation, Yarn récupérera directement le package du cache, ce qui réduira considérablement le temps d'installation des dépendances.

Malheureusement, même si je lis et relis la documentation officielle, cette fonctionnalité ne fonctionne toujours pas correctement dans mon environnement. Je découvrirai la raison et ajouterai ce paragraphe plus tard.

Mais cette fonctionnalité est vraiment accrocheuse. On peut dire qu'elle a résolu une lacune de npm, une lacune très fatale. Avec une telle fonction, les dépendances existantes pourront être installées à l'avenir sans réseau. Cela permet également de gagner du temps de téléchargement et d’améliorer considérablement l’efficacité. Imaginez que vous n'ayez pas à attendre 15 minutes lors de l'exécution de React-Native Init à l'avenir. Ne seriez-vous pas très heureux (bien sûr, on ne sait toujours pas quand Facebook remplacera le processus de dépendance d'installation de React-Native Init par). sa propre installation de gestion de paquets).

fichier Yarn.lock

Yarn utilise un fichier Yarn.lock pour donner à votre programme une expérience cohérente sur différentes machines. Même si cette explication est tirée par les cheveux, au moins je n'ai pas l'occasion de la montrer à tout le monde, donc je suis déjà très consciencieux (brouillard). On a l'impression que c'est une chose très haut de gamme, mais en fait il s'agit principalement d'un complément à package.json.

Si vous êtes intéressé, vous pouvez lire l'introduction détaillée ici (vous devez être meilleur en anglais) :

Yarn

Gestion des dépendances rapide, fiable et sécurisée. Yarnpkg.com

Résumé

Parfois, juste entre l'ouverture et la fermeture des yeux, une nouvelle chose apparaît tranquillement sans que vous le sachiez. Le fil est sorti aujourd'hui, mais je ne sais pas ce qui apparaîtra demain. Heureusement, nous avons pu prendre le premier train pour ce nouveau gadget.

Mais il faut dire que l’émergence du fil est bel et bien progressive. Elle résout certains des problèmes connus du npm et développe de nouvelles fonctionnalités. Dans ce cas, cela vaut la peine de contacter et d'apprendre. Même s’il reste encore un long chemin à parcourir avant de remplacer npm, on peut prévoir que son avenir sera radieux.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère que le contenu de cet article sera utile aux études ou au travail de chacun.

Pour plus d'articles sur la prise en main du gestionnaire de packages Node.js Yarn et son installation, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn