Włóczka plug'n'play

npm jest domyślnym menedżerem pakietów dla Node.js. Facebook od dawna pracuje nad alternatywnym rozwiązaniem do zarządzania pakietami o nazwie Yarn . Wygląda na to, że Yarn powoli znika z plików Readmes GitHuba jako rozwiązanie domyślne, a statystyki na oficjalnej stronie pokazują, że tylko część instalacji pakietów jest przeprowadzana za pomocą Yarn. Niemniej jednak warto szukać nieszablonowo.


Yarn jest w pełni kompatybilny z istniejącymi plikami package.json, dzięki czemu można łatwo korzystać z obu rozwiązań w istniejących projektach. Polecenia dla obu rozwiązań różnią się tylko nieznacznie. Poniżej znajduje się porównanie najważniejszych poleceń.:

OpisnpmPrzędza
Zainicjuj npm initinit przędzy
Aktualizacjanpm install -g npmsamodzielna aktualizacja przędzy
Zainstaluj pakietnpm install
--save [nazwa]
dodanie przędzy [nazwa]
Zainstaluj pakietnpm install
--save-dev [nazwa]
dodać przędzę
--dev [nazwa]
Zainstaluj pakiet na całym świecienpm install -g [nazwa]globalne dodanie przędzy [nazwa]
Zainstaluj wszystkie pakietynpm installinstalacja przędzy
Zaktualizuj wszystkie pakietyaktualizacja npmaktualizacja przędzy
Odinstaluj pakietnpm remove [nazwa]przędza usuń [nazwa]

Yarn zaczął od rozwiązania niektórych problemów npm. Najbardziej oczywistą różnicą jest wyższa wydajność: dzięki instalacjom przyrostowym, wielowątkowości i najnowszej zabójczej funkcji Plug'n'Play (PNP) wydajność dramatycznie wzrasta. Plug'n'Play odrzuca pomysł opartego na projekcie folderu node_modules, który często może urosnąć do astronomicznych rozmiarów w liczbie plików. Więcej informacji na ten temat można znaleźć w oficjalnym dokumencie dotyczącym Plug'n'Play . Instalujemy eslint raz z npm, a następnie z przędzą z rozgrzaną pamięcią podręczną w każdym przypadku, aby różnica w prędkości była wyraźna (6x!):

npm 6.5.0
Przędza 1.12.3
Plecy