Cum să Instalezi Node.js: Un Ghid Tehnic Complet pentru Toate Platformele
Node.js este un runtime JavaScript open-source, cross-platform, construit pe motorul V8 al Chrome, care execută cod JavaScript în afara mediului browser. Modelul său de I/O non-blocant, bazat pe evenimente, îl face alegerea dominantă pentru construirea de API-uri cu randament ridicat, aplicații în timp real, microservicii și instrumente server-side. Instalarea corectă a Node.js — folosind metoda potrivită pentru sistemul de operare și fluxul de lucru — reprezintă fundația unui mediu de dezvoltare stabil și reproductibil.
Acest ghid acoperă toate căile principale de instalare: instalatori oficiali, manageri de pachete native ale sistemului de operare, distribuțiile binare NodeSource și nvm (Node Version Manager). Abordează, de asemenea, gestionarea versiunilor, igiena pachetelor globale și considerațiile pentru serverele de producție pe care majoritatea tutorialelor le omit complet.
Alegerea metodei corecte de instalare
Înainte de a rula o singură comandă, înțelegeți ce vă oferă fiecare metodă — deoarece alegerea greșită creează probleme operaționale reale ulterior.
| Metodă | Cel mai bun pentru | Flexibilitate versiune | Root necesar | Note |
|---|---|---|---|---|
| — | — | — | — | — |
| Installer oficial `.pkg` / `.msi` | Configurare locală rapidă, începători | O singură versiune | Da | Poluează PATH-ul sistemului; dificil de schimbat versiunile |
| Manager de pachete OS (`apt`, `brew`, `yum`) | Instalări la nivel de sistem, servere CI | Limitată | Da | Livrează adesea versiuni învechite |
| Repo binar NodeSource | Servere Linux, fixare LTS predictibilă | Per instalare | Da | Menținut de NodeSource; bun pentru producție |
| `nvm` (Node Version Manager) | Dezvoltare multi-proiect | Completă, per shell | Nu | Standard de aur pentru stațiile de lucru ale dezvoltatorilor |
| `fnm` (Fast Node Manager) | Pipeline-uri CI sensibile la performanță | Completă | Nu | Bazat pe Rust, semnificativ mai rapid decât nvm |
| Docker / imagine container | Build-uri izolate, reproductibile | Completă, per container | Depinde | Cel mai bun pentru microservicii și CI/CD |
Regulă cheie de decizie: Pe o stație de lucru pentru dezvoltatori, folosiți întotdeauna nvm sau fnm. Pe un server Linux de producție, folosiți repository-ul NodeSource sau o imagine container. Nu folosiți niciodată pachetul Node.js al managerului de pachete implicit al sistemului de operare pe Ubuntu/Debian — acesta livrează în mod obișnuit versiuni cu ani în urmă față de LTS-ul curent.
Instalarea Node.js pe Linux
Linux este locul unde rulează efectiv majoritatea sarcinilor de producție Node.js. A face acest lucru corect contează mai mult aici decât oriunde altundeva. Dacă implementați pe un mediu de VPS Hosting, metodele următoare se aplică direct serverului dvs. remote.
Metoda 1: Distribuții binare NodeSource (Recomandat pentru servere)
NodeSource menține pachete .deb și .rpm actualizate și semnate, care urmăresc cu precizie liniile de lansare LTS și Current ale Node.js. Aceasta este cea mai fiabilă abordare pentru serverele Linux de producție.
Ubuntu / Debian:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejsFedora / CentOS / RHEL / Rocky Linux:
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
sudo yum install -y nodejsDupă instalare, verificați atât runtime-ul, cât și managerul de pachete inclus:
node -v
npm -vCapcană critică: Modelul curl | bash execută un script remote ca root. În mediile sensibile la securitate, descărcați mai întâi scriptul, inspectați-l, apoi executați-l:
curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh
less nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt-get install -y nodejsMetoda 2: nvm — Node Version Manager (Recomandat pentru dezvoltatori)
nvm instalează Node.js complet în directorul dvs. home (~/.nvm), nu necesită sudo și vă permite să schimbați versiunile per proiect sau per sesiune shell. Acesta este instrumentul corect pentru orice stație de lucru sau server multi-tenant unde diferite aplicații necesită versiuni diferite de Node.js.
Instalați nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bashInstalatorul adaugă inițializarea necesară a shell-ului în ~/.bashrc, ~/.zshrc sau ~/.profile. Reîncărcați shell-ul:
source ~/.bashrcInstalați cea mai recentă versiune LTS:
nvm install --ltsInstalați o versiune specifică după număr:
nvm install 20.14.0Comutați între versiunile instalate:
nvm use 18
nvm use 20Setați o valoare implicită persistentă pentru sesiunile shell noi:
nvm alias default 20Listați toate versiunile instalate local:
nvm lsVerificați versiunea activă:
node -v
npm -vCaz special — fișiere .nvmrc: Plasați un fișier .nvmrc în rădăcina proiectului dvs. conținând doar șirul versiunii (de ex., 20.14.0). Rularea nvm use în acel director selectează automat versiunea corectă. Acest lucru este esențial pentru mediile de echipă unde deriva de versiune cauzează bug-uri subtile.
echo "20.14.0" > .nvmrc
nvm useMetoda 3: Manager de pachete de sistem (Acceptabil pentru instrumente, nu pentru producție)
Repository-urile implicite apt sau dnf livrează versiuni Node.js care sunt frecvent învechite. Folosiți aceasta doar pentru instrumente non-critice:
sudo apt-get update
sudo apt-get install -y nodejs npmPe Fedora / RHEL 9+:
sudo dnf install nodejsInstalarea Node.js pe macOS
Metoda 1: Homebrew (Recomandat)
Homebrew este managerul de pachete de facto pentru mediile de dezvoltare macOS. Dacă Homebrew nu este încă instalat, urmați instrucțiunile de la brew.sh.
brew install nodePentru a instala o versiune majoră specifică (de ex., Node.js 20 LTS):
brew install node@20
brew link --overwrite node@20Verificați:
node -v
npm -vCapcană Homebrew: brew upgrade node va face upgrade la cea mai recentă versiune, ceea ce poate strica proiectele fixate la o versiune mai veche. Dacă gestionați mai multe proiecte, folosiți nvm și pe macOS — fluxul de lucru este identic cu Linux.
Metoda 2: nvm pe macOS
Comenzile de instalare și utilizare nvm sunt identice cu Linux. Utilizatorii macOS cu Zsh (implicit din Catalina) ar trebui să confirme că ~/.zshrc conține blocul de inițializare nvm după instalare:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"Metoda 3: Instalatorul oficial .pkg
Descărcați instalatorul .pkg de la nodejs.org, rulați-l și urmați expertul. Aceasta este calea cea mai simplă pentru utilizatorii care au nevoie de o singură versiune Node.js și nu intenționează să schimbe. După instalare, deschideți Terminal și confirmați:
node -v
npm -vInstalarea Node.js pe Windows
Metoda 1: Instalatorul oficial .msi
Descărcați instalatorul Windows (.msi) de la nodejs.org. Selectați build-ul LTS pentru lucrul adiacent producției sau Current pentru experimentarea cu cele mai recente funcționalități. Instalatorul înregistrează automat Node.js în PATH al sistemului.
După instalare, deschideți Command Prompt sau PowerShell și verificați:
node -v
npm -vImportant: În timpul expertului de instalare, există un pas opțional pentru instalarea Chocolatey și a instrumentelor de build pentru modulele native (addon-uri C++). Activați aceasta dacă dependențele proiectului dvs. includ pachete precum bcrypt, sharp sau module dependente de node-gyp. Omiterea acestuia cauzează erori de build criptice ulterior.
Metoda 2: Chocolatey
Chocolatey este un manager de pachete Windows care permite instalări scriptate, repetabile — valoros pentru provizionarea mașinilor de dezvoltatori.
Deschideți un Command Prompt sau PowerShell cu privilegii ridicate (Administrator):
choco install nodejs-ltsVerificați:
node -v
npm -vMetoda 3: nvm-windows
Rețineți că nvm pentru Linux/macOS nu rulează pe Windows. Echivalentul Windows este nvm-windows, un proiect separat cu o interfață similară.
Descărcați instalatorul de pe pagina de releases GitHub nvm-windows. După instalare:
nvm install lts
nvm use lts
node -vWindows Subsystem for Linux (WSL2): Dezvoltatorii care fac muncă serioasă cu Node.js pe Windows ar trebui să ia în considerare cu tărie WSL2 cu Ubuntu. În interiorul WSL2, instalarea Linux nvm funcționează identic cu Linux nativ, iar experiența de dezvoltare este semnificativ mai consistentă cu mediile serverelor de producție.
Înțelegerea LTS vs. Current: Ce versiune să instalați
Node.js urmează un calendar de lansare predictibil care afectează direct ce versiune ar trebui să implementați.
| Tip lansare | Cadență | Durată suport | Caz de utilizare |
|---|---|---|---|
| — | — | — | — |
| **LTS (Long Term Support)** | Majore cu număr par (18, 20, 22) | 30 de luni total (12 Active + 18 Maintenance) | Aplicații de producție, sarcini enterprise |
| **Current** | Majore cu număr impar (19, 21, 23) | Doar 6 luni | Testarea funcționalităților, autori de biblioteci |
| **Maintenance LTS** | Lansări LTS în curs de îmbătrânire | Doar corecții de securitate | Sisteme legacy în curs de migrare |
Regulă generală: Implementați întotdeauna LTS în producție. Folosiți Current doar în medii de dezvoltare izolate când trebuie să testați compatibilitatea cu funcționalitățile viitoare ale Node.js.
Menținerea Node.js actualizat
Versiunile Node.js învechite expun aplicația dvs. la vulnerabilități cunoscute ale motorului V8, configurații TLS depreciate și compatibilitate ruptă a dependențelor. Tratați upgrade-urile Node.js ca întreținere de securitate, nu ca îmbunătățiri opționale.
Cu nvm (toate platformele):
nvm install --lts
nvm reinstall-packages <old-version>
nvm alias default nodeComanda nvm reinstall-packages migrează pachetele instalate global de la versiunea veche la cea nouă — un detaliu pe care majoritatea ghidurilor îl omit și care economisește timp semnificativ.
Cu NodeSource pe Debian/Ubuntu:
sudo apt-get update && sudo apt-get upgrade nodejsCu Homebrew pe macOS:
brew update && brew upgrade nodeCu Chocolatey pe Windows:
choco upgrade nodejs-ltsGestionarea pachetelor npm globale
Pachetele npm globale instalează instrumente CLI accesibile la nivel de sistem. Păstrați lista de instalări globale minimă — instrumentele specifice proiectului aparțin în devDependencies, nu în instalările globale, pentru a asigura build-uri reproductibile în toate mediile.
Instalați un pachet global:
npm install -g yarn
npm install -g pm2
npm install -g typescriptListați toate pachetele instalate global:
npm list -g --depth=0Eliminați un pachet global:
npm uninstall -g yarnPachete globale relevante pentru producție:
pm2— Manager de procese pentru aplicații Node.js; gestionează clustering, repornire automată și managementul log-urilor pe serverele Linuxtypescript— Compilatorul TypeScript (tsc)nodemon— Watcher de fișiere pentru dezvoltare care repornește automat procesul Node.js la modificări de coddotenv-cli— Încarcă fișiere.envpentru configurare specifică mediului
nvm și pachetele globale: Când schimbați versiunile Node.js cu nvm, pachetele globale instalate sub versiunea anterioară nu sunt disponibile automat. Fie reinstalați-le, fie folosiți nvm reinstall-packages <previous-version> pentru a le migra.
Post-instalare: Configurarea npm pentru mediile de producție
O instalare curată Node.js necesită câțiva pași suplimentari de configurare înainte de a fi pregătită pentru producție.
Setați registry-ul npm (opțional, pentru registry-uri private sau oglinzi):
npm config set registry https://registry.npmjs.org/Configurați directorul cache npm (relevant pe servere cu spațiu /tmp limitat):
npm config set cache /path/to/custom/cacheDezactivați generarea package-lock.json (doar dacă echipa dvs. folosește yarn.lock exclusiv):
npm config set package-lock falseSetați variabila de mediu Node.js pentru producție:
export NODE_ENV=productionAdăugați aceasta în /etc/environment sau în fișierul unității systemd al aplicației dvs. pe serverele Linux pentru a vă asigura că Express.js, Next.js și alte framework-uri activează optimizările lor de producție.
Dacă rulați aplicații Node.js pe un Server Dedicat, configurați pm2 ca serviciu systemd pentru a garanta că aplicația dvs. repornește după reboot-uri:
pm2 start app.js --name "my-app"
pm2 startup systemd
pm2 saveRularea Node.js în spatele unui reverse proxy
Pe serverele de producție, aplicațiile Node.js nu ar trebui niciodată expuse direct pe portul 80 sau 443. Folosiți Nginx sau Apache ca reverse proxy și terminați TLS la nivelul proxy-ului. Aceasta este o decizie critică de arhitectură pe care pasul de instalare o activează direct.
O configurație minimă Nginx pentru o aplicație Node.js care rulează pe portul 3000:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}Asociați aceasta cu un certificat TLS valid. Certificatele SSL sunt esențiale pentru orice aplicație Node.js care gestionează date ale utilizatorilor, token-uri de autentificare sau cereri API — nu sunt opționale. Let’s Encrypt prin certbot este opțiunea gratuită standard; certificatele comerciale sunt adecvate pentru implementările enterprise.
Node.js pe Shared Hosting vs. VPS
O întrebare care apare frecvent: poate Node.js rula pe shared hosting?
Mediile standard de Shared Web Hosting nu suportă Node.js în niciun mod semnificativ. Shared hosting-ul este conceput pentru aplicații PHP și nu oferă acces shell, management persistent al proceselor sau posibilitatea de a se lega la porturi personalizate — toate acestea fiind necesare pentru Node.js.
Pentru orice implementare reală Node.js, aveți nevoie cel puțin de un plan de VPS Hosting. Un VPS vă oferă acces root, un manager de procese persistent precum pm2 și control complet asupra versiunii Node.js și configurației runtime. Dacă aveți nevoie de un panou de control gestionat alături de mediul dvs. Node.js, un VPS cu cPanel oferă un echilibru între accesul raw la VPS și hosting-ul gestionat.
Pentru sarcinile Node.js intensive în calcul — inferență machine learning, transcodare video sau procesare de date la scară largă — un VPS standard poate fi insuficient. GPU Hosting oferă accelerarea hardware pe care procesele Node.js legate de CPU nu o pot atinge pe cont propriu.
Listă de verificare tehnică a punctelor cheie
Folosiți aceasta ca listă de verificare pre-implementare:
- Selecția versiunii: Confirmați că rulați o versiune LTS activă (
node -var trebui să returneze un număr major par în fereastra de suport activă) - Metoda de instalare se potrivește mediului:
nvmpe mașinile dezvoltatorilor; NodeSource sau container pe servere - Versiunea npm este curentă: Rulați
npm install -g npm@latestdupă instalarea Node.js — npm-ul inclus nu este adesea cel mai recent NODE_ENVeste setat: Verificați căecho $NODE_ENVreturneazăproductionpe toate mediile server- Managerul de procese este configurat:
pm2 listarată aplicația dvs. rulând șipm2 startupa fost executat - Reverse proxy-ul este în loc: Node.js nu este expus direct pe portul 80/443
- TLS este terminat la proxy: Certificatul valid este instalat și redirecționările HTTPS sunt aplicate
- Lista de pachete globale este minimă:
npm list -g --depth=0arată doar instrumentele CLI esențiale .nvmrceste committed în repository: Asigură că toți membrii echipei și pipeline-urile CI folosesc aceeași versiune Node.js- Actualizările de securitate sunt automatizate: Un cron job sau pipeline CI verifică lunar pentru noi patch-uri LTS
FAQ
Care este diferența dintre Node.js LTS și Current și pe care ar trebui să îl instalez?
Lansările LTS (Long Term Support) sunt majore cu număr par (18, 20, 22) suportate timp de 30 de luni cu patch-uri de securitate și stabilitate. Lansările Current sunt majore cu număr impar suportate doar 6 luni. Instalați LTS pentru orice muncă de producție sau dezvoltare în echipă. Folosiți Current doar pentru experimentare pe termen scurt cu funcționalități.
De ce nvm afișează „command not found” după instalare?
Instalatorul nvm adaugă cod de inițializare în fișierul RC al shell-ului dvs. (~/.bashrc sau ~/.zshrc), dar sesiunea curentă de terminal nu l-a reîncărcat. Rulați source ~/.bashrc (sau source ~/.zshrc pentru Zsh) sau deschideți o nouă fereastră de terminal. Dacă problema persistă, verificați manual că blocul de inițializare nvm există la sfârșitul fișierului dvs. RC.
Pot rula mai multe versiuni Node.js simultan pe același server?
Da, cu nvm. Fiecare versiune este instalată în propriul director sub ~/.nvm/versions/. Puteți comuta versiunea activă per sesiune shell cu nvm use <version> sau per proiect folosind un fișier .nvmrc. Diferite procese care rulează versiuni diferite de Node.js pot coexista fără conflict.
De ce nu ar trebui să instalez Node.js din repository-ul implicit apt Ubuntu/Debian?
Repository-urile implicite Ubuntu și Debian livrează versiuni Node.js care sunt adesea cu două până la patru versiuni majore în urmă față de LTS-ul curent. De exemplu, Ubuntu 22.04 livrează implicit Node.js 12 — o versiune care a ajuns la end-of-life în 2022. Folosiți întotdeauna repository-ul NodeSource sau nvm pentru a obține o versiune curentă și suportată.
Cum dezinstalез complet Node.js și o iau de la capăt?
Metoda depinde de modul în care a fost instalat. Pentru instalările NodeSource: sudo apt-get remove nodejs && sudo apt-get autoremove. Pentru nvm: nvm uninstall <version> pentru versiuni specifice sau ștergeți complet directorul ~/.nvm și eliminați liniile de inițializare din fișierul dvs. RC. Pentru Homebrew: brew uninstall node. Pentru instalatorul oficial pe macOS/Windows, folosiți dezinstalatorul standard al aplicațiilor din sistem și eliminați manual orice directoare reziduale din /usr/local/lib/node_modules sau %AppData%npm.
