Jedną z najlepszych funkcji Node są menedżery pakietów. Istnieje wiele różnych sposobów instalowania pakietów węzłów i zarządzania nimi. Tutaj przyjrzymy się zaletom i wadom korzystania z jednego menedżera pakietów lub korzystania z więcej niż jednego menedżera pakietów, a także niektórym najlepszym sposobom korzystania z nich razem.
Co to jest menedżer pakietów, o co pytasz? Czytaj dalej, aby się dowiedzieć.
Kim są menedżerowie pakietów?
W świecie tworzenia oprogramowania zależności są tym, czego potrzebujesz, aby uruchomić swój projekt. Są jak składniki przepisu: bez nich nic się nie dzieje.
Na przykład, jeśli piszesz aplikację korzystającą z języka JavaScript, która chce uzyskać dostęp do niektórych funkcji bibliotekę o nazwie jQuery (którego kiedyś używało wiele stron internetowych), to jQuery będzie jedną z twoich zależności. Musisz go zainstalować, aby gdy ktoś odwiedzi Twoją witrynę, mógł zobaczyć te fajne animacje lub interakcje, które z nim utworzyłeś!
Menedżerowie pakietów pomagają zarządzać tymi relacjami między projektami, zarządzając za nas zależnościami, więc nie musimy się martwić o ręczne pobieranie ich za każdym razem kiedy chcemy dodać lub zaktualizować coś nowego — dbają również o to, aby wszystko działało poprawnie i płynnie po zainstalowaniu (co czasem łatwiej powiedzieć niż zrobione).
Węzeł jest dostarczany w pakiecie z menedżerem pakietów o nazwie NPM
NPM jest domyślnym menedżerem pakietów i jako taki jest wbudowany w środowisko uruchomieniowe węzła. Możesz użyć NPM do zainstalowania pakietów z GitHub lub NPM bezpośrednio. Możesz także opublikować swoje pakiety w tej witrynie, aby inni mogli je zainstalować przy użyciu swojej wersji NPM.
NPM służy nie tylko do instalowania pakietów; obsługuje również rozwiązywanie zależności i konflikty wersji między dwiema lub więcej wymaganymi bibliotekami lub modułami w bazie kodu aplikacji.
Oznacza to, że jeśli istnieje wiele wersji czegoś takiego jak Ekspresowe działanie na Twoim serwerze w dowolnym momencie NPM upewni się, że każda instancja otrzyma to, czego potrzebuje, bez konfliktów inne instancje wykonują podobną pracę — a wszystko to bez wymagania od Ciebie robienia czegokolwiek poza zwykłymi czynnościami powołanie wymagać() na obiekcie w razie potrzeby!
NPM to niezwykle potężne narzędzie i łatwo jest zacząć z nim korzystać. Ale jeśli jesteś nowy w Node i JavaScript, może być trudno wiedzieć, jakie narzędzia są dostępne do użytku - i które z nich są najlepsze dla danego projektu.
Głównym problemem związanym z NPM jest powolne instalowanie pakietów. To nie jest wielka sprawa, jeśli tylko od czasu do czasu uruchamiasz skrypt lub dwa, ale może to być niewiarygodne frustrujące, jeśli próbujesz zbudować całą aplikację, która korzysta z dziesiątek różnych bibliotek i narzędzia.
Przędza i PNPM są szybsze niż NPM
Yarn to bezpieczna i niezawodna alternatywa dla NPM, która używa pliku blokady, aby zapobiec przypadkowemu zastąpieniu i zapewnia prawidłowe rozwiązanie zależności podczas instalowania pakietów.
Ma również szybszy czas instalacji niż NPM, co czyni go szczególnie przydatnym, jeśli pracujesz z dużymi projektami, które mają wiele modułów z wieloma zależnościami.
PNPM jest alternatywą zarówno dla Yarn, jak i NPM, ale nie jest jeszcze tak popularny, ponieważ nie ma niektórych funkcji dostępnych w żadnym z nich (takich jak pliki blokujące). Jednak jego twórcy twierdzą, że PNPM może instalować pakiety do czterech razy szybciej niż Yarn lub NPM dzięki swojej lekkości; oznacza to również mniejsze zużycie miejsca na dysku komputera!
Jeśli budujesz projekt, który wymaga tylko kilku zależności, prawdopodobnie wystarczy Yarn lub NPM. Jeśli jednak pracujesz z dużymi projektami z wieloma modułami i zależnościami, PNPM może być dla Ciebie lepszą opcją.
Zalety korzystania z wielu menedżerów pakietów
Pojedynczy menedżer pakietów może obsługiwać tylko jedną wersję danej biblioteki na raz. Jeśli chcesz używać dwóch różnych wersji tej samej biblioteki dla innych projektów lub w różnych środowiskach (na przykład produkcja vs. development), będziesz potrzebować dwóch oddzielnych pakietów zainstalowanych w twoim systemie.
Może to prowadzić do konfliktów, jeśli oba pakiety będą próbowały zaktualizować swoją wersję tej samej zależności w tym samym czasie. Korzystanie z wielu menedżerów pakietów oznacza, że masz większą kontrolę nad tym, które zależności są instalowane i gdzie, co pomaga uniknąć tego rodzaju konfliktów.
Kolejną korzyścią jest to, że w przypadku korzystania z wielu menedżerów pakietów każdy z nich zapewnia własny, unikalny zestaw funkcji. Niektóre mogą być szybsze niż inne; niektóre mogą mieć lepsze możliwości zarządzania zależnościami; inne mogą być bardziej odpowiednie do tworzenia aplikacji w określonych ramach, takich jak ReactJS lub VueJS itp.
Wreszcie, korzystanie z wielu menedżerów pakietów może pomóc zwiększyć produktywność programistów, skracając czas spędzony na wyszukiwaniu i instalowaniu zależności. Dzieje się tak, ponieważ każdy menedżer pakietów zostanie zaprojektowany z myślą o określonym zestawie przypadków użycia (na przykład szybkość vs. bezpieczeństwo vs. zarządzanie zależnościami itp.).
Użyj wielu menedżerów pakietów, instalując je globalnie
Korzystając z wiersza poleceń, możesz określić, którego menedżera pakietów chcesz użyć dla określonego projektu. Skonfiguruj wiele menedżerów pakietów na swoim komputerze:
- NPM jest dostarczany z pakietem Node. Umożliwi to instalowanie innych pakietów (i menedżerów pakietów) z wiersza poleceń i zarządzanie zależnościami we wszystkich projektach za pomocą NPM. Jest to również przydatne, jeśli chcesz uruchamiać skrypty NPM w przeglądarce (np. Webpack), ponieważ przeglądarki nie mają preinstalowanego NPM!
- Zainstaluj Yarn również globalnie za pomocą NPM. To kolejna popularna opcja zarządzania zależnościami w projektach JavaScript; ma pewne zalety w stosunku do NPM, co może sprawić, że będzie preferowany w przypadku niektórych typów projektów lub zespołów
- Na koniec zainstaluj PNPM. Ten menedżer pakietów jest rozwidleniem NPM, który został zaprojektowany tak, aby był szybszy i bardziej stabilny. Posiada również kilka dodatkowych funkcji, które mogą być przydatne w przypadku niektórych typów projektów, takich jak obsługa zależności z GitHub.
Pamiętaj, że instalacja globalna oznacza, że wybrany pakiet będzie dostępny dla całego systemu (możesz uzyskać dostęp program w dowolnym miejscu za pomocą wiersza poleceń), podczas gdy lokalna instalacja jest dostępna tylko dla bieżącej pracy informator.
Rzeczywiste przykłady wykorzystania wielu menedżerów pakietów
Sprawdź te zastosowania:
1. Przędza i NPM mogą być używane razem (np. twórz-reaguj-aplikację)
Jest to przydatne, gdy chcesz skorzystać z szybkości i wydajności Yarn przy jednoczesnym zachowaniu zgodności z pakietami NPM. Jeśli potrzebujesz najnowszej wersji biblioteki, która nie została jeszcze zaktualizowana pod kątem zgodności z Yarn, lub jeśli jest inny powód dlaczego Twój zespół wolałby raczej trzymać się NPM pomimo jego mniejszej szybkości lub ograniczonego zestawu funkcji, to może to dobrze działać dla Ciebie projekt. Pomaga to również uniknąć posiadania dwóch oddzielnych drzew zależności w konfiguracji repozytorium mono!
2. Korzystanie z Yarn dla pakietów globalnych i PNPM dla instalacji lokalnych
Chociaż PNPM jest najszybszym menedżerem pakietów, może być trudny w użyciu w przypadku pakietów zainstalowanych globalnie. Dzieje się tak, ponieważ używa innej struktury plików, co może powodować problemy ze zgodnością z programami takimi jak Visual Studio Code. I tu pojawia się Przędza. Możesz go użyć do globalnie zainstalowanych pakietów, a PNPM do lokalnych instalacji. To rozwiązanie to dobry sposób na uzyskanie korzyści z obu menedżerów pakietów bez konieczności zbytniego zmieniania przepływu pracy. Dzięki tej konfiguracji - jeśli chcesz zaszaleć - możesz całkowicie usunąć NPM ze swojego systemu (ale zawsze dobrze jest mieć NPM jako kopię zapasową).
3. Używanie PNPM z NPM jako awarią
Jest to dobra opcja do rozważenia w przypadku, gdy chcesz używać PNPM, ale nie chcesz, aby wszyscy twoi programiści musieli jeszcze uczyć się nowego narzędzia. Pozwala im to kontynuować pracę z NPM, dopóki nie poczują się komfortowo z PNPM i nie będą go potrzebować do swojej pracy.
Korzystanie z wielu menedżerów pakietów ułatwia pracę
Możesz użyć wielu menedżerów pakietów. Możesz je zainstalować globalnie lub lokalnie, a jeśli chcesz określić, który menedżer pakietów ma być używany do konkretnego projektu, po prostu użyj wiersza poleceń!
Jeśli chcesz zainstalować wiele menedżerów pakietów w swoim systemie, upewnij się, że używasz tej samej wersji Node.js.
Podsumowując, uważamy, że powinieneś używać więcej niż jednego menedżera pakietów. To świetny sposób na rozpoczęcie pracy z Node, a także poznanie nowych narzędzi, jeśli znasz już NPM. Jeśli nie masz jeszcze zainstalowanego węzła, konfiguracja w systemie Windows jest łatwa.