29 lip

Instalowanie Node.js na Ubuntu 16.04

Node.js w Ubuntu 16

Node.js jest platformą JavaScript dla programowania o przeznaczeniu ogólnym, która pozwala użytkownikom na szybkie tworzenie aplikacji sieciowych. Wykorzystując JavaScript zarówno na front-end, jak i back-end, rozwój może być bardziej spójny i dostosowany w ramach tego samego systemu.

Pokażemy jak zacząć pracę z Node.js na serwerze Ubuntu 16.04.

Zakładamy, że korzystasz z Ubuntu 16.04. Powinieneś też posiadać zainstalowane na Twoim systemie konto użytkownika innego niż root z uprawnieniami sudo.

Instalowanie stabilnej wersji Distro dla Ubuntu

W swoich domyślnych repozytoriach Ubuntu 16.04 posiada wersję Node.js, którą można wykorzystywać w celu łatwego zapewnienia spójnych działań w różnych systemach. Jako przykład, posłużymy się wersją v4.2.6. Nie jest ona najnowsza, ale powinna być dość stabilna i wystarczająca do szybkiego eksperymentowania z językiem.

W celu pozyskania powyższej wersji powinniśmy użyć menadżera pakietów apt. Najpierw powinniśmy odświeżyć indeks lokalnego pakietu, a następnie zainstalować z repozytoriów:
sudo apt-get update
sudo apt-get install nodejs

Jeżeli pakiet w repozytorium odpowiada twoim oczekiwaniom, to tego wystarczy, aby skonfigurować Node.js. W większości przypadków, będziesz też chciał zainstalować npm będący menadżerem pakietów Node.js. Dokonasz tego wpisując:
sudo apt-get install npm

Pozwoli Ci to na łatwe zainstalowanie modułów i pakietów z wykorzystaniem Node.js.

Z uwagi na konflikt z innym pakietem, program wykonywalny z repozytoriów Ubuntu jest nazywany nodejs zamiast node. Pamiętaj o tym w trakcie działania programów.

Następnie rozpatrzymy bardziej elastyczne i niezawodne metody instalacji.

Instalowanie przy użyciu PPA

Alternatywą, która pomoże Ci otrzymać nowszą wersję Node.js, jest dodanie PPA (Personal Package Archive) prowadzonego przez NodeSource. Znajdziesz tu więcej aktualnych wersji Node.js, niż w oficjalnych repozytoriach Ubuntu. Będziesz też miał możliwość wyboru pomiędzy Node.js v4.x (wersja wsparcia długoterminowego, podtrzymywana do kwietnia 2017) i v6.x (aktualna wersja, która będzie aktywnie otrzymywać nowe funkcje, aż do przejścia na długoterminowe wsparcie).

Najpierw zainstaluj PPA, aby otrzymać dostęp do jego zawartości. Upewnij się, że jesteś w swoim katalogu domowym i użyj curl do pobrania skryptu instalacyjnego dla preferowanej przez Ciebie wersji. Upewnij się, że zastąpiłeś 6.x poprawną wersją ciągu:
cd ~
curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh

Możesz zbadać zawartość skryptu wykorzystując nano (lub inny edytor tekstowy):
nano nodesource_setup.sh

Przeszedł czas na uruchomienie skryptu z sudo:
sudo bash nodesource_setup.sh

PPA zostanie dodany do konfiguracji, a lokalny pakiet pamięci podręcznej automatycznie zaktualizowany. Po uruchomieniu skryptu instalacyjnego z NodeSource będziesz mógł zainstalować pakiet Node.js w taki sam sposób, jak powyżej:
sudo apt-get install nodejs

Pakiet nodejs zawiera binarny plik nodejs oraz npm, dzięki czemu nie musisz instalować npm osobno. Niemniej jednak w celu poprawnego działania niektórych pakietów npm (podobnych do tych, co wymagają kodu od źródła kompilacji), należy zainstalować pakiet build-essential:
sudo apt-get install build-essential

Instalowanie z wykorzystaniem NVM

Alternatywą instalowania Node.js poprzez apt jest wykorzystanie specjalnie zaprojektowanego narzędzia zwanego nvm, czyli „Node.js version manager”.

Wykorzystanie nvm pozwala na zainstalowanie wielu samodzielnych wersji Node.js ułatwiających Ci kontrolowanie środowiska. To daje nie tylko dostęp na żądanie do najnowszych wersji Node.js, ale także pozwala na kierowanie poprzednimi wersjami, na których może opierać się Twoja aplikacja.

Krótka instrukcja z instalacją NVM – znajduje się pod tym linkiem.

Na początek będziemy musieli uzyskać pakiety oprogramowania z naszych repozytoriów. Za ich pomocą będziemy mogli budować pakiety źródłowe. Skrypt nvm wykorzysta te narzędzia do budowania niezbędnych komponentów:
sudo apt-get update
sudo apt-get install build-essential libssl-dev

Po zainstalowaniu wstępnie wymaganych pakietów można rozwinąć skrypt instalacyjny nvm ze strony z projektem w GitHub. Numer wersji może się różnić, jednak z reguły można go pobrać z curl:
curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh -o install_nvm.sh

A teraz sprawdź skrypt instalacyjny z nano:
nano install_nvm.sh

Uruchom skrypt poprzez bash:
bash install_nvm.sh

Oprogramowanie będzie zainstalowane w podkatalogu katalogu domowego w ~/.nvm. Oprócz tego zostaną dodane odpowiednie wiersze do pliku ~/.profile w celu jego wykorzystania.

Aby uzyskać dostęp do funkcji nvm, należy wylogować się i zalogować ponownie, lub można pozyskać plik ~/.profile, aby Twoja bieżąca sesja odnotowała zmiany:
source ~/.profile

Po zainstalowaniu nvm, możesz zainstalować pojedyncze wersje Node.js.

Dostępne dla zainstalowania wersje Node.js można znaleźć wpisując:
nvm ls-remote

Odpowiedź
...
         v5.8.0
         v5.9.0
         v5.9.1
        v5.10.0
        v5.10.1
        v5.11.0
         v6.0.0

Z uwagi na fakt, że bierzemy pod uwagę wersję v6.0.0, możesz ją zainstalować poprzez wpisanie:
nvm install 6.0.0

Zazwyczaj nvm przełączy się na używanie ostatnio zainstalowanej wersji. Możesz jednoznacznie zmusić NVM do używania ostatnio pobranej wersji wpisując:
nvm use 6.0.0

Instalując Node.js z użyciem nvm plik wykonywalny nosi nazwę node. W celu zobaczenia obecnie używanej przez powłokę wersji wpisz:
node -v

Odpowiedź
v6.0.0

Jeżeli masz dużo wersji Node.js, możesz sprawdzić, która jest zainstalowana wpisując:
nvm ls

Określenie jednej z wersji jako domyślnej jest możliwe poprzez wpisanie:
nvm alias default 6.0.0

Ta wersja będzie wybierana automatycznie przy uruchomieniu nowej sesji. Można również ją odwołać przez alias podobny do następującego:
nvm use default

Każda wersja Node.js będzie śledzić własne pakiety i posiada dostępne do zarządzania nimi npm.

Używając normalnego formatu możesz mieć instalacyjne pakiety npm do katalogu projektów Node.js ./node_modules. Na przykład dla modułu express:
npm install express

Jeżeli pragniesz bardziej globalnego zainstalowania (umożliwienie dostępności dla innych projektów poprzez wykorzystanie tej samej wersji Node.js), dodaj flagę –g:
npm install -g express

Takim oto sposobem zainstalujesz pakiet w:
~/.nvm/wersja_node/lib/node_modules/nazwa_pakietu

Globalne instalowanie pozwoli Ci na wykonywanie poleceń z wiersza poleceń, ale musisz połączyć pakiet z lokalną sferą w celu jego wymagania w ramach programu:
npm link express

Jeżeli chcesz dowiedzieć się więcej na temat dostępnych dla Ciebie opcji nvm wpisz:
nvm help

Podsumowanie

Jak widać, istnieje sporo sposobów na otrzymanie i pracę z Node.js na serwerze Ubuntu 16.04. O wyborze metody będą decydować Twoje uwarunkowani. Zapakowana wersja w repozytorium Ubuntu jest najprostsza, natomiast metoda nvm jest zdecydowanie bardziej elastyczna.