Node.js i NPM to coraz cześciej podstawa pracy nad aplikacjami webowymi. Sprawne poruszanie się po wersjach npm i node.js będzie potrzebne jeżeli działamy na różnych frameworkach opartych na node.js. Większość gotowych rozwiązań zazwyczaj trzyma się jednej wersji node.js i to web devloper musi dostosować środowisko pracy czy serwera do wymogów instalacji.

Cent OS7 to wersja open source linuxa oparta o feodora. To jedna z standardowych wersji linux dostępnej na przykład przy wykupieniu usługi VPS albo dedykowanego serwera. Przy budowaniu większych instalacji webbowych lub aplikacji warto zbudować sobie takie środowisko pracy na własnym komputerze w wersji dual boot (windows / linux) lub poprostu postawić sobie domowy serwer oparty o CentOS7.

Komendy poniżej są dostosowane do CentOS7 ale powinny działać także na innych systemach linux.


Instalacja node.js za pomoca nvm

Jednym ze sposobów instalacji i wyboru wersji node.js jest użycie node version manager'a.

Linux

Wszystkie komendy wykonujemy z poziomu root ( sudo -s )



--- Ściągamy NVM ---

$ curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash

--- Ustawiamy środowisko aby komendy działaly globalnie ---

root@spaceghost:~# source ~/.profile (Ubuntu)
root@spaceghost:~# source ~/.bashrc  (Centos / RHEL )


Windows

Instalujemy program nvm dla windows

Następnie otwieramy command line w windowsie (cmd)

Lista dostępnych wersji

Linux


root@spaceghost:~# nvm ls-remote 

--- system powinnien pokazać dostępne wersje ---

         v8.1.3
         v8.1.4
         v8.2.0
         v8.2.1
         v8.3.0
         v8.4.0
         v8.5.0
         v8.6.0
         v8.7.0
         v8.8.0
         v8.8.1


Windows


c:\ nvm list available


Instalacja wybranych wersji node.js

nodejs2



root@spaceghost:~# nvm install 4.2.5 
root@spaceghost:~# nvm install 8.7.0
root@spaceghost:~# nvm install ... 

--- Windows -- 
Dla windowsa możemy dodatkowo określic architekture 32bit lub 64bit.

c:\nvm install 8.4.0 32 
c:\nvm install 8.4.0 64 

Instalujemy wszytskie potrzebne wersje pod nasze aplikacje.



--- Lista zainstalowanych node.js ---
root@spaceghost:~# nvm list 

--- Przykładowy wynik ---
       v0.12.18
         v4.8.2
         v6.9.4
         v7.9.0
->       v8.4.0
         v8.8.1
         system
default -> 8.8.1 (-> v8.8.1)
node -> stable (-> v8.8.1) (default)
stable -> 8.8 (-> v8.8.1) (default)
iojs -> N/A (default)
lts/* -> lts/boron (-> N/A)
lts/argon -> v4.8.5 (-> N/A)
lts/boron -> v6.11.5 (-> N/A)


--- Użyj Wersji node.js --- 

root@spaceghost:~# nvm use 8.4.0 

--- Rezultat --- 
Now using node v8.4.0 (npm v5.3.0)


Jak widać powyżej nvm dopasowuje wersje npm do wersji node.js więc nie musimy się o to martwić. Teraz dowoli możemy sobie poskakać po buildach node.js ale co jak mamy pare aplikacji które korzstają z róznych wersji node ?

Uruchom aplikacje w wybranej wersji node.js


root@spaceghost:~#  nvm run 4.8.2 index.js

Dezinstalacja wersji node.js


root@spaceghost:~#  nvm remove 4.8.2