Garen plug'n'play

npm is de standaardpakketbeheerder voor Node.js. Facebook ontwikkelt al lang een alternatieve pakketbeheeroplossing genaamd Yarn . Yarn lijkt langzaam te verdwijnen uit de GitHub-leesberichten als de standaardoplossing en de statistieken op de officiële site laten zien dat slechts een fractie van de pakketinstallaties met Yarn wordt uitgevoerd. Toch is het de moeite waard om buiten de gebaande paden te kijken.


Yarn is volledig compatibel met bestaande package.json-bestanden, waardoor je beide oplossingen gemakkelijk in bestaande projecten kunt gebruiken. De commando's voor de twee oplossingen verschillen slechts minimaal. Hieronder volgt een vergelijking van de belangrijkste commando's.:

OmschrijvingnpmGaren
Initialiseer npm initgaren init
Bijwerkennpm install -g npmgaren zelf-update
Installeer pakketnpm installeren
--sla [naam]
garen toevoegen [naam]
Installeer pakketnpm installeren
--save-dev [naam]
garen toevoegen
--dev [naam]
Installeer het pakket wereldwijdnpm install -g [naam]garen globaal toevoegen [naam]
Installeer alle pakkettennpm installerengaren installeren
Werk alle pakketten bijnpm-updategaren upgrade
Verwijder het pakketnpm verwijder [naam]garen verwijderen [naam]

Yarn begon met als doel een aantal pijnpunten van npm op te lossen. Het meest voor de hand liggende verschil zijn de hogere prestaties: door incrementele installaties, multithreading en de nieuwste killer-functie Plug'n'Play (PNP) nemen de prestaties dramatisch toe. Plug'n'Play verwerpt het idee van een projectgebaseerde node_modules map, die qua aantal bestanden vaak tot astronomische hoogten kan uitgroeien. Meer hierover leest u in de officiële Plug'n'Play whitepaper . We installeren eslint één keer met npm en vervolgens met garen waarbij de cache telkens opgewarmd is om het verschil in snelheid duidelijk te maken (6x!):

npm 6.5.0
Garen 1.12.3
Terug