Nodea — logo

Yarn

Yarn to menedżer pakietów dla ekosystemu JavaScript, stworzony jako alternatywa dla npm. Jego zadaniem jest zarządzanie zależnościami projektu — instalowanie, aktualizowanie i usuwanie zewnętrznych bibliotek, na których opiera się aplikacja — w sposób szybki, przewidywalny i powtarzalny na różnych maszynach.

Dlaczego powstał Yarn

Yarn pojawił się, aby rozwiązać problemy, które we wczesnych wersjach npm bywały dotkliwe: wolne instalacje, niedeterministyczne wyniki (ten sam projekt mógł zainstalować nieco inne wersje zależności na dwóch komputerach) oraz brak wygodnego bufora offline. Wprowadził plik blokady zależności gwarantujący, że wszyscy w zespole i wszystkie środowiska używają dokładnie tych samych wersji, oraz mechanizmy przyspieszające ponowne instalacje.

Yarn w praktyce

W codziennej pracy Yarn instaluje zależności zdefiniowane w pliku projektu i umieszcza je w katalogu, z którego korzystają narzędzia budujące, takie jak webpack, oraz frameworki, na przykład Vue.js. Korzysta z tego samego publicznego rejestru pakietów co npm, więc oba menedżery sięgają po te same biblioteki — różni je sposób ich pobierania i zarządzania. Z czasem npm nadrobił większość pierwotnych przewag Yarna: wprowadził własny plik blokady i przyspieszył instalacje, a Yarn rozwinął się dalej, m.in. w kierunku nowszych architektur zarządzania zależnościami. W efekcie wybór między nimi to dziś głównie kwestia preferencji zespołu, przyzwyczajeń i konfiguracji istniejącego projektu, a nie fundamentalnych różnic w możliwościach. Oba narzędzia pełnią tę samą rolę: pozwalają w kontrolowany sposób korzystać z ogromnego ekosystemu gotowych bibliotek JavaScript.

Powiązane pojęcia

Najczęstsze pytania

Czy Yarn zastępuje npm?

Yarn korzysta z tego samego rejestru pakietów co npm i jest jego alternatywą, a nie następcą. Współczesny npm nadrobił większość różnic, więc wybór między nimi to dziś głównie kwestia preferencji zespołu i istniejącej konfiguracji projektu.