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 usesă rămână activ în terminalele noi: schimbarea ține doar în terminalul curent. Pentru restul foloseștenvm alias default. - Ai și Node.js instalat din pachetul oficial sau din Homebrew, pe lângă nvm:
which nodepoate 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.