Użyłem NVM do pobrania węzła v0.4.10 i zainstalowałem npm do pracy z tą wersją węzła.
Próbuję zainstalować ekspresowe za pomocą
npm install express -g
i pojawia się błąd, który express wymaga wersji węzła> = 0,5.0.
Cóż, to dziwne, ponieważ postępuję zgodnie ze wskazówkami dla tutoriala node + express + mongodb , który używał węzła v0.4.10, więc zakładam, że express jest / był dostępny dla węzła v0.4.10. Jeśli moje założenie jest prawidłowe, jak mam powiedzieć programowi npm, aby pobrał wersję, która będzie działać z moją instalacją?
Odpowiedzi:
Jeśli musisz zainstalować starszą wersję pakietu, po prostu ją określ
Na przykład:
npm install [email protected]
Możesz także dodać
--save
flagę do tego polecenia, aby dodać ją do zależności w pakiecie.json lub--save --save-exact
flagi, jeśli chcesz, aby ta dokładna wersja była określona w zależnościach w pakiecie.json.install
Komenda jest udokumentowane tutaj: https://docs.npmjs.com/cli/installJeśli nie masz pewności, jakie wersje pakietu są dostępne, możesz użyć:
I
npm view
może być używany do przeglądania innych rzeczy o pakiecie. https://docs.npmjs.com/cli/viewźródło
npm view <package> versions -json
aby zobaczyć każdą wersję, unikając wielokropka na końcu listy z wieloma wersjami.npm install [email protected]
, nie otrzymasz dokładnej wersji 3.0.0, otrzymasz najnowszą wersję 3.xx. Aby uzyskać konkretną wersję, musisz użyćnpm install [email protected] --save-exact
. Zobacz ten post na blogu: 60devs.com/npm-install-specific-version.htmlnpm install [email protected]
dostaniesz dokładnie wersję 3.0.0.npm install express@^3.0.0
dostaniesz najnowszą wersję 3.xx--save-exact
wpływa na sposób, w jaki jest zapisany w pliku package.json , który już opisałem w mojej odpowiedzi. Pamiętaj też,--save-exact
że należy go używać w połączeniu z jednym--save
lub--save-dev
- nie wystarczy użyć go samodzielnie.To całkiem proste. Po prostu napisz to, na przykład:
Lub:
źródło
latest
inext
wersji!-g
flaga jest specjalnie dla pakietów, które chcesz zainstalować globalnie, jak wielu użytkowników będzie dostać się do tej strony i po prostu kopiuj / wklej nie zdając sobie sprawy jak są one o wpływ na ich pakietów ekosystem. Wszyscy byliśmy „tym facetem”Najpierw usuń starą wersję, a następnie uruchom dosłownie następujące czynności:
i dla stabilnych lub najnowszych
źródło
X
czy zastępczy numeryczny numer wersji?npm install [email protected]
i wydawało się, że to działa. Czy jest to funkcja lub wypadek podczas analizynpm
numeru wersji?npm
analizuje, patrz: docs.npmjs.com/misc/semver#x-ranges-12x-1x-12-X
.Moim zdaniem jest to najłatwiejszy i najszybszy sposób:
$ npm -v
4.2.0
$ npm install -g npm@latest-3
...
$ npm -v
3.10.10
źródło
możesz zaktualizować pakiet npm za pomocą tego polecenia:
npm install <package_name>@<version_number>
przykład:
npm install [email protected]
źródło
Mam ogólny sposób na rozwiązanie tego rodzaju problemów, które mogą być również pomocne, szczególnie podczas klonowania repozytoriów w celu uruchomienia ich lokalnie, ale wymagają nieco więcej analizy wersji.
Za pomocą pakietu
npm-check-updates
weryfikuję wersje pakietów (zgodnie z plikiem package.json), które nie zostały zadeklarowane w najnowszych dostępnych wersjach, jak pokazano na rysunku ( https://www.npmjs.com/package/npm-check -aktualizacje ):Dzięki tym informacjom możemy zweryfikować status aktualizacji różnych pakietów i podjąć decyzję, które pakiety zaktualizować / zdegradować, a które nie.
Zakładając, że postanowiliśmy zaktualizować wszystkie pakiety, ponieważ są na liście, możemy użyć
ncu -u
polecenia, które tylko modyfikuje plik package.json. Biegaćnpm install
aby zaktualizować zainstalowane pakiety i pakiet-lock.json.Następnie, w zależności od wymagań repozytorium, możemy sprecyzować, co jest potrzebne, instalując określone wersje za pomocą
npm view <package> versions
inpm install <package>@<version>
źródło
npm install -g npm@version
w którym chcesz obniżyć wersję
npm install -g [email protected]
źródło
-g
(do instalacji globalnej, a następnie wyląduje w aktualnym projekcie reż/node_modules
) i tak,--save
lub--save-dev
uzyskać wpispackage.json
Możesz użyć następującego polecenia, aby zainstalować poprzednią wersję pakietu npm:
źródło
Dla użytkowników przędzy:
źródło
W systemie Ubuntu możesz wypróbować to polecenie.
Wersja szczegółowa: sudo n 8.11.3 zamiast sudo n stable
źródło