Yarn jest nowym lepszym menadżerem pakietów dla npm. Ile razy słyszeliśmy takie rzeczy? W świecie frontendu średnio raz na tydzień wychodzi nowe lepsze narzędzie, które, jak przekonują nas twórcy, zmieni oblicze programowania. I jak często okazuje się, że po tygodniu zwyczajnie o nim zapominamy bo pojawiło się coś nowego? Więc pewnie zadajecie sobie pytanie czemu zawracam sobie głowę pisaniem o czymś co pewnie zniknie. Ponieważ on nie zniknie tak szybko.

Dlaczego Yarn jest wyjątkowy?

Jak już wspomniałem na początku Yarn jest menadżerem pakietów na node.js. Jego najważniejszą cechą jest, że rozwija on używany przez wszystkich npm zamiast zastępowania go. Bierze z npm wszytsko to co dobre I dokłada do tego swoje rozwiązania. Jednak zacznijmy od początku.Korzysta on z pliku package.json dzięki czemu przesiadka na niego jest bezbolesna. Oprócz tego mam wrażenie, że dużo szybciej ściąga nowe paczki niż w przypadku użycia npm jednak jest to moja subiektywna opinia. Jednak najlepsza rzecz jaką dodaje Yarn jest plik lockfile. Jest to coś co composer ma już od dawna a co bardzo ułatwia przenoszenie aplikacji pomiędzy komputerami a nawet pomiędzy komputerem lokalnym  a produkcją. W lockfile jest przechowywana informacja temat wersji wszystkich ściągniętych przez nasz paczkach. Dzięki temu na produkcji mamy 100% pewność, że ściągniemy paczki używane przez nas lokalnie. Daje nam to ogromną kontrolę nad tym czego używamy.

Podstawy obsługi

Obsługa nowego menadżera pakietów jest troszkę inna od npm jednak nie na tyle by było to uciążliwe podczas rozpoczęcia użytkowania go. Jednak aby go użytkować musimy go najpierw zainstalować. Twórcy udostępnili wiele opcji instalacji, które są opisane pod TYM linkiem.

Ważne żeby po instalacji ustawić odpowiednią ścieżkę w zmiennych systemowych. Aby sprawdzić czy poprawnie zainstalowaliśmy go należy wywołać następującą komendę

yarn --version

Poniżej przedstawiam podstawowe komendy, które są często używane podczas pracy z Yarnem

yarn add   –> instaluje nowy pakiet (odpowiednik npm install)

yarn install –> instaluje wszytskie pakiety używane w projekcie, które są zdefiniowane w package.json

yarn run –> uruchamia skrypt z pliku package.json ( odpowiednik npm run)

yarn upgrade –> aktualizuje wszystkie zależności w projekcie I tworzy nowy plik yarn.lock

 

Jak widać zmiana menadżera pakietów może być bezbolesna i co najważniejsze w każdym momencie możemy wrócić do starego systemu. A jak u was wygląda zarządzanie pakietami npm. Korzystacie z oryginalnego, Yarna czy może natrafiliście ostatnio na coś zupełnie nowego co was zachwyciło? Pochwalcie się tym i zapraszam do dyskusji zarówno tutaj jak i na profilu FB.