NVM - Node Version Manager [TuT]


  • Admin

    Cześć!
    W tym krótkim poradniku pokaże Wam w jaki sposób możecie łatwo i przyjemnie zarządzać wersją programu Node.js.
    Jeżeli korzystaliście wcześniej kiedyś z NPM czyli domyślnego menadżera pakietów dla środowiska Node.js na pewno zdajecie sobie sprawę jak szybki jest rozwój tego środowiska uruchomieniow'ego.

    Budując swoje własne aplikacje czy projekty na pewno zdarzyło Wam się nie raz, że wasza wersja Node.js najzwyczajniej w świecie przedawniła się. Oczywiście można aktualizować ją każdorazowo do nowej wersji ale niektóre biblioteki mogą wymagać starszej, inne z kolei nie radzą sobie z poprzednimi wersjami. Jak więc temu zaradzić?

    W dzisiejszym poradniku zaprezentuje NVM czyli sposób na to jak szybko, sprawnie i bez komplikacji migrować sobie pomiędzy wersjami node zmieniając je jak rękawiczki - dosłownie!

    Instalacja:

    Pierwsze co musimy zrobić to zainstalować sobie nasz Node Version Manager, w naszym przypadku instalacja będzie bazowała na Linux'ie, niemniej nie ma większych przeszkód aby zrobić na OS'xie.

    Jeżeli teraz pomyśleliście o Windows'ie to i dla niego znajdzie się jakieś rozwiązanie, wprawdzie nie jest to to samo oprogramowanie lecz zupełnie oddzielny projekt ale istnieje taka możliwość, nazywa się nvm-windows. Nas jednak docelowo interesuje pingwinek więc to dla niego przeznaczony jest ten tutorial.

    Uruchamiamy więc terminal i korzystając z komendy wget pobieramy i wykonujemy skrypt niezbędny do uruchomienia:
    wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

    Innymi możliwościami są użycie curl'a lub git'a (po prostu klonując repo projektu).

    Skrypt ten ściąga, rozpakowuje kompiluje i instaluje oraz automatycznie dodaje zmienne środowiskowe.
    Po tym etapie wystarczy, że zamkniemy i ponownie uruchomimy terminal i w zasadzie gotowe!

    Zarządzanie:

    Od teraz możemy bez większych problemów zarządzać, instalować oraz zmieniać domyśle wersje Node.js.
    Warto byłoby opisać sobie parę przydatnych komend, które niewątpliwie się do tego przydadzą.

    Dla przykładu aby pobrać ostatnią (najnowszą) wersje node wystarczy wydać polecenie:
    nvm install node

    Aby sprawdzić wszystkie dostępne obecnie dostępne wersje Node:
    nvm ls-remote

    Chcemy skorzystać z innej wersji? Nie ma problemu, instalujemy ją przy pomocy polecenia:
    nvm install v8.9.0

    Domyślnie po pobraniu nowej wersji zostajemy na nią przyłączeni, jednakże możemy również skorzystać z poprzedniej (zainstalowanej wcześniej) wersji używając:
    nvm use node v9.3.0

    Aby sprawdzić obecnie używaną pozycje:
    nvm version node

    Gdybyśmy chcieli z kolei migrować wszystkie globalnie zainstalowane pakiety (instalowane przy pomocy npm) na najnowszą wersje node wystarczy:
    nvm install node --reinstall-packages-from=node

    Ponadto możemy definiować listy domyślnych globalnych pakietów które będą instalowane wraz z nową wersją jeżeli tylko będą dostępne.

    Sam NVM umożliwia nam również dostęp do kilku stałych które możemy modyfikować jak NVM_SOURCE, NVM_DIR, NVM_PROFILE, oraz NODE_VERSION - dzięki temu możemy ustawić sobie dowolny katalog w którym mają być przechowywane źródła node, katalog, profil czy wersje.

    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
    

    Natomiast zmienne środowiskowe w przypadku linux'a w zależności od używanej powłoki oraz użytkownika znajdziemy w ~/bash.rc , ~/.profile lub ~/.zshrc.

    Więcej informacji znajdziecie na stronie na GitHub.