Widzę instrukcje instalacji pakietu z jednym z nich
npm install <package_name>
lub
npm install <package_name> --save
lub
npm install <package_name> --save-dev
Jaka jest różnica między tymi opcjami?
npm
npm-install
Obromios
źródło
źródło
npm install pobiera 3 ekskluzywne, opcjonalne flagi, które zapisują lub aktualizują wersję pakietu w głównym pliku package.json:
-S, --save
: Pakiet pojawi się w Twoich zależnościach.-D, --save-dev
: Pakiet pojawi się w twoim devDependencies.-O, --save-optional
: Pakiet pojawi się w opcjonalnych zależnościach.Podczas korzystania z dowolnej z powyższych opcji do zapisywania zależności w pliku package.json, istnieje dodatkowa, opcjonalna flaga:
-E, --save-exact
: Zapisane zależności zostaną skonfigurowane z dokładną wersją zamiast przy użyciu domyślnego operatora zakresu semver npm. Ponadto, jeśli masz plik npm-shrinkwrap.json, zostanie on również zaktualizowany.<scope>
jest opcjonalne. Pakiet zostanie pobrany z rejestru związanego z określonym zakresem. Jeśli żaden rejestr nie jest powiązany z podanym zakresem, przyjmowany jest rejestr domyślny. Zobacz npm-scope.Uwaga: jeśli nie dołączysz @ -symbol do nazwy zakresu, npm zinterpretuje to jako repozytorium GitHub, patrz poniżej. Po nazwach zakresów należy także umieścić ukośnik.
Przykłady:
Uwaga: Jeśli istnieje plik lub folder o nazwie
<name>
w bieżącym katalogu roboczym, spróbuje go zainstalować i spróbuje pobrać pakiet według nazwy tylko wtedy, gdy jest nieprawidłowy.(z oficjalnych dokumentów) https://docs.npmjs.com/cli/install
źródło
--save
opcja wydaje się nadal działać, nie jest już wymagana - pakiety są teraz domyślnie zapisywane w zależnościach . Logika jest teraz odwrócona - jeśli nie chcesz zapisywać paczki, musisz określić--no-save
--save
Flaga nie służy określonemu celowi.Wcześniej, jak zauważono w innych odpowiedziach,
--save
flaga aktualizowała zależności wpackage.json
pliku projektu , alenpm install
teraz domyślnie zawiera tę funkcję.W tym momencie, jeśli chcesz zapobiec
npm install
zapisywaniu zależności, musisz użyć--no-save
flagi.Dziękuję Coruscate5 za wspomnienie o tym w komentarzu .
Więcej informacji w dokumentacji npm-install :
źródło