Instalacja Node.js i npm na Debianie

Opublikowano Zaktualizowano 4 min czytania

Node.js 10 i 12 od dawna są bez wsparcia. Tak zainstalujesz aktualną wersję LTS razem z npm na Debianie: przez NodeSource, z kluczem podpisu w /etc/apt/keyrings.

Node.js to środowisko uruchomieniowe, na którym działa mnóstwo aplikacji webowych, interfejsów API i botów Discord. Na własnym serwerze zainstalujesz je w kilka minut. W tym poradniku skonfigurujesz Node.js razem z npm na Debianie 13, Debianie 12 i Debianie 11. Na Ubuntu działają te same polecenia.

Kluczowy jest wybór właściwej wersji. Popularne kiedyś poradniki dla Node.js 10 i Node.js 12 są już nieaktualne: obie wersje od lat nie dostają aktualizacji bezpieczeństwa i nie powinny działać na żadnym serwerze.

Którą wersję Node.js zainstalować?

Nowa wersja główna Node.js ukazuje się dwa razy w roku. Tylko parzyste numery wersji trafiają do linii LTS (Long Term Support) i są potem utrzymywane przez około trzy lata. Wersje nieparzyste to krótko żyjące linie rozwojowe, nieprzeznaczone do systemów produkcyjnych.

  • Node.js 24 LTS („Krypton”): aktualna rekomendacja dla nowych projektów i serwerów produkcyjnych.
  • Node.js 22 LTS: nadal szeroko stosowany, sensowny wybór, jeśli aplikacja wyraźnie wymaga tej wersji.
  • Node.js 10 i 12: bez wsparcia odpowiednio od 2021 i 2022 roku. Już ich nie używaj.

W razie wątpliwości sprawdź wymagania swojej aplikacji. Wiele projektów podaje wymaganą wersję w polu „engines” pliku package.json.

Wymagania wstępne

  • Dostęp root do twojego serwera VPS lub serwera root przez SSH.
  • Aktualny Debian. Najpierw zaktualizuj system:
apt update && apt upgrade -y

Do pobrania repozytorium potrzebujesz jeszcze kilku standardowych narzędzi:

apt install -y ca-certificates curl gnupg

Wariant 1: Node.js z repozytoriów Debiana

Najprostsza droga prowadzi przez repozytoria dostarczane razem z systemem:

apt install nodejs npm -y

Zaleta: aktualizacje przychodzą automatycznie razem z pozostałymi aktualizacjami systemu. Wada: pakiety Debiana są zwykle o jedną lub dwie wersje główne w tyle za aktualną linią LTS. Którą wersję masz do dyspozycji, sprawdzisz przed instalacją poleceniem:

apt-cache policy nodejs

Stan na lipiec 2026, repozytoria dostarczają: Debian 13 „Trixie” Node.js 20.19, Debian 12 „Bookworm” Node.js 18.20, Ubuntu 24.04 Node.js 18.19, Ubuntu 22.04 Node.js 12.22. Jeśli ci to wystarcza, na tym kończysz. Jeśli potrzebujesz aktualnej linii LTS, wybierz wariant 2.

Wariant 2: instalacja Node.js 24 LTS przez NodeSource

NodeSource udostępnia oficjalne repozytoria dla Debiana i Ubuntu. Dostaniesz dzięki temu dokładnie tę wersję główną, o którą ci chodzi, i nadal będziesz otrzymywać aktualizacje przez apt.

Dodanie klucza podpisu

Wcześniejsza droga przez apt-key odpadła. Od Debiana 11 klucze podpisu należą do osobnego katalogu w /etc/apt/keyrings/:

mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

Dodanie repozytorium i instalacja

Następnie dodaj repozytorium. Za pomocą zmiennej ustawiasz wersję główną, tutaj 24:

NODE_MAJOR=24
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list

Dla Node.js 22 ustaw zamiast tego NODE_MAJOR=22. Potem następuje właściwa instalacja:

apt update
apt install nodejs -y

npm jest już zawarty w pakiecie NodeSource. Nie instaluj tutaj dodatkowo pakietu Debiana „npm”, bo powstanie konflikt pakietów.

Krótka droga przez skrypt instalacyjny

NodeSource oferuje dodatkowo skrypt, który łączy oba powyższe kroki:

curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install nodejs -y

Wygodne, ale uruchamiasz z prawami root skrypt pobrany z sieci. Na serwerach produkcyjnych czystszym wyborem jest droga przez klucz i repozytorium.

Sprawdzenie instalacji

Na koniec sprawdź obie wersje:

node --version
npm --version

Jeśli przy node pojawi się wynik zaczynający się od v22., a przy npm numer wersji, instalacja się powiodła.

Jeśli chcesz używać yarn albo pnpm: oba włączysz przez Corepack, który jest częścią Node.js, osobna instalacja nie jest potrzebna:

corepack enable

Równoległa praca kilku wersji Node.js

Jeśli na jednym serwerze prowadzisz kilka aplikacji o różnych wymaganiach, pomoże Node Version Manager (nvm). Instaluje on Node.js w katalogu użytkownika, dzięki czemu kilka wersji może działać obok siebie, a przełączanie odbywa się osobno dla każdego projektu.

Po instalacji nvm (trzymaj się przy tym instrukcji z oficjalnego projektu) wystarczą te polecenia:

nvm install 24
nvm use 24
nvm alias default 24

Ważne: nvm należy zawsze do pojedynczego użytkownika. Usługi systemowe działające jako inny użytkownik nie znajdą tej instalacji Node.js. Dla usług pewniejszą drogą jest instalacja z pakietu.

Przejście na nowszą wersję

Jeśli później czeka cię zmiana na nową linię LTS, po prostu zmień numer wersji w repozytorium i zaktualizuj system:

NODE_MAJOR=24
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
apt update && apt install nodejs -y

Po skoku wersji przetestuj swoją aplikację. Między dwiema wersjami głównymi interfejsy mogą się zmienić, a starsze moduły natywne trzeba czasem zbudować na nowo.

Częste błędy

  • „E: Unable to locate package nodejs”: po dodaniu repozytorium zabrakło polecenia apt update.
  • Konflikt pakietów między nodejs a npm: obok pakietu NodeSource został zainstalowany pakiet Debiana „npm”. Usuń go poleceniem apt remove npm, odpowiednią wersję dostarcza już sam Node.js.
  • „NO_PUBKEY” albo „signatures couldn't be verified”: klucz podpisu nie leży w /etc/apt/keyrings/ albo wiersz repozytorium nie zawiera pasującego odwołania signed-by.
  • Nadal wyświetlana jest stara wersja: w systemie zostały resztki wcześniejszej instalacji. Usuń stare pliki w /etc/apt/sources.list.d/, które wskazują na nodesource, a potem zainstaluj ponownie.
  • Pakiet npm przerywa kompilację: dla modułów natywnych brakuje narzędzi do budowania. Zainstaluj je poleceniem apt install -y build-essential python3.

Najczęstsze pytania

Którą wersję Node.js zainstalować?
Do nowych projektów aktualną linię LTS, czyli Node.js 22. Node.js 20 jest nadal szeroko stosowany i ma sens wtedy, gdy aplikacja wymaga dokładnie tej wersji. Node.js 10 i 12 od lat nie dostają już aktualizacji bezpieczeństwa.
Dlaczego wersja z repozytorium Debiana jest tak stara?
Debian zamraża wersje pakietów w momencie wydania i dostarcza potem już tylko poprawki bezpieczeństwa. Jeśli potrzebujesz konkretnej wersji głównej, droga prowadzi przez repozytorium NodeSource.
Czy npm trzeba instalować osobno?
Nie. Pakiet od NodeSource zawiera już npm. Nie instaluj dodatkowo pakietu Debiana npm, bo powstanie konflikt pakietów.
Jak później przejść na nowszą wersję?
Zmień numer wersji w repozytorium w /etc/apt/sources.list.d/ i wykonaj ponownie apt update oraz apt install nodejs. Przetestuj potem swoją aplikację, bo między wersjami głównymi interfejsy mogą się zmienić.
Dlaczego klucz podpisu leży w /etc/apt/keyrings?
Wcześniejsze polecenie apt-key odpadło. Od Debiana 11 klucze podpisu trafiają do osobnego katalogu i są przypisywane do repozytorium opcją signed-by.

Node.js npm NodeSource Debian LTS nvm apt