2013-04-08 14 views
544

Użyłem nvm do pobrania węzła v0.4.10 i zainstalowałem npm do pracy z tą wersją węzła.Jak zainstalować poprzednią wersję pakietu npm?

Próbuję zainstalować Express za pomocą

npm install express -g 

i pojawia się błąd, który wymaga wyrażenia węzła wersji> = 0.5.0.

Cóż, to jest dziwne, ponieważ postępuję zgodnie ze wskazówkami dla instrukcji node + express + mongodb here, która używała węzła v0.4.10, więc zakładam, że wyrażenie jest/było dostępne dla węzła v0.4.10. Jeśli moje założenie jest poprawne, jak mam powiedzieć npm, aby pobrać wersję, która działałaby z moją instalacją?

+6

Dlaczego po prostu nie zaktualizujesz swojej wersji węzła? Na pewno powinno być o wiele więcej dobrych dodatków niż złamane zachowanie, które znajdziesz. –

Odpowiedz

955

Jeśli trzeba zainstalować starszą wersję pakietu, wystarczy określić to

npm install <package>@<version> 

Na przykład: npm install [email protected]

Można także dodać flagę --save do tego polecenia, aby dodać go do pakietu Zależności .json lub --save --save-exact, jeśli chcesz dokładnie taką wersję określić w zależnościach package.json.

Komenda install jest udokumentowane tutaj: https://docs.npmjs.com/cli/install

Jeśli nie jesteś pewien, co wersje pakietu są dostępne, można użyć:

npm view <package> versions 

I npm view może być używany do przeglądania innych rzeczy także o pakiecie. https://docs.npmjs.com/cli/view

+1

Wierzę, że spowoduje to zainstalowanie najbliższej wersji głównej, która pasuje, więc może nie być to, czego oczekujesz http://stackoverflow.com/a/22345808/1074400 –

+1

@AakilFernandes, jeśli określisz dokładną wersję, zostanie zainstalowana dokładna wersja . Jeśli określisz semantyczny zakres wersji, możesz uzyskać niedokładne dopasowanie. W tym przypadku nie ma nic wyjątkowego w komendzie instalacyjnej. –

+0

Warto również zauważyć, że kiedy uruchamiasz "npm install express", faktycznie uruchamiasz 'npm install express @ latest ' –

52

najpierw usunąć starą wersję następnie

npm install [email protected] 
+7

Czy to literalne 'X' czy stand-in dla jakiegoś numerycznego numeru wersji? –

+0

tak jak 3.1.0, 3.2.0, 3.4.0 itd. –

+6

To było pytanie/lub pytanie, a nie tak/nie. Próbowałem 'npm install express @ 3.X' i wyglądało na to, że działa. Czy to jest funkcja, czy przypadek w sposobie, w jaki 'npm' analizuje numer wersji? –

34

Moim zdaniem jest najprostszym i najszybszym sposobem:

$ npm -v

4.2.0

$ npm install -g [email protected]

..

$ npm -v

3.10.10

+1

Aby obniżyć wersję z npm5 do npm4, działa również! –

Powiązane problemy