Kiedy powinienem używać npm z flagą „-g” i dlaczego?


117

Niedawno zacząłem używać npm do zarządzania pakietami js. Chociaż dobrze rozumiem zarządzanie pakietami w różnych środowiskach (powiedzmy, używając apt, rvm / gem, pythonbrew / virtualenv / pip), nie bardzo rozumiem, jak w pełni pasuje npm.

Chciałbym dowiedzieć się więcej o tym, jak działa flaga „-g” i dlaczego powinienem jej używać. Jak w większości blogów i wiki, używają "-g" podczas instalacji bez wyjaśnienia dlaczego, i rozumiem, że te pakiety są instalowane globalnie.

  • Ale dlaczego mam zawsze instalować te pakiety na całym świecie?
  • Co to znaczy zainstalować te pakiety bez flagi „-g”?
  • Co mam zrobić, aby zainstalować pakiety lokalnie, powiedzmy w piaskownicy dla różnych projektów?
  • Jak więc mogę utworzyć listę pakietów npm używanych w projekcie i umieścić ją w projekcie, jeśli potrzebowałem jej do sprawdzenia z kontrolą wersji (jeśli w ogóle to możliwe)?

Odpowiedzi:


122

-gjest globalną flagą instalacji , jak wyjaśniono w tej odpowiedzi . Jest to szczegółowo omówione w tym poście na blogu dotyczącym węzła .

Podstawowe zasady:

  • Zainstaluj globalnie, jeśli pakiet zawiera narzędzia wiersza polecenia
  • Zainstaluj lokalnie, jeśli używasz pakietu jako części aplikacji
  • Zainstaluj globalnie i lokalnie, jeśli mają zastosowanie oba przypadki użycia

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.