Próbuję dać lepszy przegląd początkującym.
npm był historycznie (2010) najpopularniejszym menedżerem pakietów dla JavaScript. Jeśli chcesz go użyć do zarządzania zależnościami projektu, możesz wpisać następujące polecenie:
npm init
Spowoduje to wygenerowanie package.json
pliku. Zawiera wszystkie zależności projektu.
Następnie
npm install
utworzy katalog node_modules
i pobierze zależności (które dodałeś do package.json
pliku) w nim.
Utworzy również package-lock.json
plik. Ten plik jest używany do opisania wygenerowanego drzewa zależności. Pozwala programistom zainstalować dokładnie te same zależności. Na przykład, możesz sobie wyobrazić programistę aktualizującego zależność do v2, a następnie v3, podczas gdy inny bezpośrednio aktualizuje do v3.
npm instaluje zależności w sposób niedeterministyczny, co oznacza, że dwóch programistów może mieć inny node_modules
katalog, co powoduje różne zachowania . ** npm ucierpiał z powodu złej reputacji, jak na przykład w lutym 2018 r .: wykryto problem w wersji 5.7.0, w którym uruchomienie sudo npm w systemach Linux zmienia właściciela plików systemowych, trwale uszkadzając system operacyjny.
Aby rozwiązać te problemy i innych, Facebook wprowadził nową menedżera pakietów (2016): Nitki szybciej, bezpieczniej i bardziej niezawodnie Package Manager dla JavaScriptu.
Możesz dodać włóczkę do projektu wpisując:
yarn init
Spowoduje to utworzenie package.json
pliku. Następnie zainstaluj zależności za pomocą:
yarn install
Zostanie node_modules
wygenerowany folder . Yarn wygeneruje również plik o nazwie yarn.lock
. Ten plik służy temu samemu celowi, co plik, package-lock.json
ale zamiast tego jest konstruowany przy użyciu deterministycznego i niezawodnego algorytmu, co prowadzi do spójnych kompilacji.
Jeśli rozpocząłeś projekt z npm , możesz łatwo migrować do Yarn . przędza zużyje to samo package.json
. Aby uzyskać więcej informacji, zobacz Migracja z npm .
Jednak npm został poprawiony ze sobą nowości i niektóre projekty nadal używa KMP nad przędzy .