nvm (versiuni Node.js) în Node.js

npx, pnpm, yarn și versiuni Node.js nvm 0.40 (macOS, Linux, WSL)

Instalează mai multe versiuni de Node.js pe același calculator și treci de la una la alta, per proiect, cu .nvmrc.

Sintaxă
nvm install <versiune> | --lts
nvm use [<versiune>]
nvm ls
nvm alias default <versiune>

Ce face nvm (versiuni Node.js)

Proiecte diferite cer versiuni diferite de Node.js: unul merge pe 22, altul pe 26. nvm (Node Version Manager) instalează versiunile în directorul tău personal (~/.nvm), fără sudo, și schimbă versiunea activă în terminalul curent cu nvm use. Fiecare versiune are propriul npm și propriile pachete globale.

nvm install 24 instalează ultima versiune 24.x, nvm install --lts ultima versiune LTS (cu suport pe termen lung, recomandată pentru producție). nvm alias default 24 alege versiunea pentru fiecare terminal nou. Un fișier .nvmrc în proiect, cu o singură linie (de exemplu 24), permite nvm install și nvm use fără argument.

nvm se instalează cu scriptul de pe github.com/nvm-sh/nvm și funcționează în shell-uri POSIX (bash, zsh) pe macOS, Linux și WSL. Pe Windows există proiectul separat nvm-windows. Alternative: fnm (rapid, merge și pe Windows, citește tot .nvmrc), volta (fixează versiunea în package.json) și n.

Parametri

Parametru Descriere
install <versiune> Instalează o versiune: 24, 26.8.1, --lts, node (cea mai nouă).
use [<versiune>] Activează versiunea în terminalul curent; fără argument citește .nvmrc.
ls Versiunile instalate; ls-remote pe cele disponibile.
current Versiunea activă.
alias default <versiune> Versiunea implicită pentru terminale noi.
uninstall <versiune> Șterge o versiune instalată.

Exemple

Exemplul 1: Alegi versiunea activă și pe cea implicită

Versiunea 26 a fost instalată înainte cu nvm install 26. Linia scrisă de nvm use confirmă și versiunea de npm care vine cu Node.js-ul ales.

nvm use 26
nvm alias default 26
node --version

Ieșire în terminal

Now using node v26.8.1 (npm v11.19.0)
default -> 26 (-> v26.8.1)
v26.8.1

Exemplul 2: Versiunea proiectului în .nvmrc

Pui fișierul în Git. Oricine intră în proiect rulează nvm use (sau nvm install prima dată) și primește aceeași versiune.

cd ~/proiecte/magazin
echo "26" > .nvmrc
nvm use

Ieșire în terminal

Found '/home/ana/proiecte/magazin/.nvmrc' with version <26>
Now using node v26.8.1 (npm v11.19.0)

Exemplul 3: Verifici versiunea din cod

Un script poate refuza să pornească pe un Node.js prea vechi. Câmpul "engines" din package.json doar avertizează la instalare; verificarea din cod oprește programul.

const minim = 22;
const major = Number(process.versions.node.split(".")[0]);

if (major < minim) {
  console.log(`Ai nevoie de Node.js ${minim}+, ai ${process.version}. Rulează: nvm use`);
  process.exit(1);
}
console.log(`Node.js ${major} este suficient (minim ${minim}).`);

Rezultat

Node.js 26 este suficient (minim 22).

Greșeli frecvente

  • Instalezi un pachet global (npm install -g) sub o versiune și îl cauți sub alta: fiecare versiune din nvm are pachetele globale separate.
  • Te aștepți ca nvm use să rămână activ în terminalele noi: schimbarea ține doar în terminalul curent. Pentru restul folosește nvm alias default.
  • Ai și Node.js instalat din pachetul oficial sau din Homebrew, pe lângă nvm: which node poate arăta altă versiune decât crezi. Păstrează o singură sursă.

Comenzi înrudite

  • node script.js: Rulează un fișier JavaScript în terminal sau o bucată de cod dată direct în comandă (-e, -p).
  • package.json: Fișierul de configurare al unui proiect Node.js: nume, versiune, tipul modulelor, scripturi, dependențe și versiunea Node cerută.
  • pnpm și yarn (comparație cu npm): Comenzile npm și echivalentele lor în pnpm și Yarn, plus ce trebuie să știi despre Corepack în Node.js 25+.
  • npm install: Instalează pachete din registrul npm în node_modules și le trece în package.json și package-lock.json.