J'utilisais le react-native
package que j'ai installé globalement avec npm
. Maintenant, il dit à la première ligne après avoir exécuté la commande init
. Le suivant:
Installing react-native from npm...
Consider installing yarn to make this faster: https://yarnpkg.com
Je vérifiais donc ce site Web et il me semblait intéressant, mais je ne sais pas exactement ce que ce serait. Au début, je pensais que j'aurais besoin de brew
pour installer yarn
, donc je pourrais filer pour installer npm
. Mais maintenant, je pense que yarn
est un remplacement de npm
. Est-ce une affirmation correcte?
Pourquoi voudrais-je avoir autant de gestionnaires de paquets?
Je comprends qu'il est utile pour des logiciels comme Atom ou Visual Studio Code d'avoir leur propre gestionnaire de packages. Mais pour le développement, je ne vois pas la raison pour laquelle quelqu'un voudrait utiliser quatre gestionnaires de packages différents (brew pour "logiciel principal", yarn
pour npm
packages, npm pour les modules backend et bower pour bibliothèques frontales). Comment démêler cette forêt du gestionnaire de packages?
Je ne connais pas le breuvage, mais je suppose que vous parlez du système de gestion de progiciels Homebrew pour macOS.
Le but de chaque système est alors:
Le fil présente certains avantages par rapport au npm, les deux principaux étant la vitesse et la prévisibilité. Yarn réutilise le fichier package.json de npm et ne change pas sa structure. Vous pouvez donc exécuter yarn install
au lieu de npm install
et théoriquement tout fonctionnera automatiquement.
P.S. Je suis d'accord, https://yarnpkg.com n'a pas assez d'informations sur les raisons pour lesquelles nous avons besoin d'un autre système de gestion de paquets, mais il y a un excellent article qui remplit cela écart.
fil vs npm
yarn et npm gèrent les installations et les dépendances des modules. Yarn a été conçu pour combler certaines des lacunes de npm.
Les plus grands avantages du fil par rapport au npm sont
package.json peut être très lâche en termes de numéros de version. yarn.lock (similaire à npm shirkwrap) verrouille cela afin que deux machines avec le même package.json installez toujours exactement les mêmes packages.
yarn
vous permet de vérifier pourquoi certains packages sont installés (comprendre l'arborescence des dépendances)
Yarn est un gestionnaire de packages JavaScript créé par Facebook, Google, Exponent et Tilde. Il est créé pour supprimer ou surmonter les fonctionnalités qui manquent dans npm. En comparaison avec npm, il a
Une autre différence majeure était le fichier yarn.lock , mais après npm ^5.x.x
ils fournissent également le fichier package-lock.json .
Et les commandes de fil fonctionnent comme npm:
# Starting a new project
npm init === yarn init
# Installing all the dependencies of the project
npm install === yarn or yarn install
# Adding a dependency
npm install [package] === yarn add [package] # The package is saved to your package.json immediately.
npm install [package]@[version] === yarn add [package]@[version]
npm install [package]@[tag] === yarn add [package]@[tag]
# Add a dev dependency
npm install [package] --save-dev === yarn add [package] --dev
# Upgrading a dependency
npm update [package] === yarn upgrade [package]
npm update [package]@[version] === yarn upgrade [package]@[version]
npm update [package]@[tag] === yarn upgrade [package]@[tag]
# Removing a dependency
npm uninstall [package] === yarn remove [package]
# View registry information
npm view [package] === yarn info [package]
# List installed packages
npm list === yarn list
npm list --depth === yarn list --depth=0
# Install packages globally
npm install -g [package] === yarn global addb [package]
# Run a defined package script
npm run [script] === yarn run [script]
Références
https://www.sitepoint.com/yarn-vs-npm/
https://scotch.io/@brian_kimo/npm-vs-yarn
et l'annonce officielle
Yarn est, comme NPM , un gestionnaire de paquets pour Node.JS. Le fil est construit par Facebook. C'est plus rapide et a plus de fonctionnalités que NPM.
Leurs principaux arguments de vente sont: