> For the complete documentation index, see [llms.txt](https://docs.ititanhosting.ro/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ititanhosting.ro/docs/romana/vps/linux/cum-instalezi-nodejs-pe-ubuntu.md).

# Cum instalezi Node.js pe Ubuntu

Node.js iti permite sa rulezi JavaScript pe partea de server. Este baza pentru nenumarate unelte si aplicatii moderne. Fie ca rulezi o aplicatie web, un bot de Discord sau un API server, probabil vei avea nevoie de Node.js la un moment dat.

Acest ghid acopera doua metode de instalare. Alege-o pe cea care ti se potriveste.

### Metoda 1: Din repository-ul Ubuntu (cel mai simplu)

Este cea mai rapida metoda, dar versiunea poate fi putin mai veche:

```bash
sudo apt update
sudo apt install nodejs npm -y
```

Verifica versiunea:

```bash
node --version
npm --version
```

Daca versiunea este acceptabila pentru ce ai nevoie, ai terminat. Treci la construit proiectul tau.

### Metoda 2: Cu NodeSource (recomandat pentru majoritatea)

NodeSource intretine repository-uri actualizate cu versiuni mai recente de Node.js. Este alegerea mai buna daca ai nevoie de o versiune recenta.

Mai intai, instaleaza scriptul de configurare NodeSource. Inlocuieste `22.x` cu versiunea dorita (20.x, 22.x sau 23.x):

```bash
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
```

Scriptul adauga repository-ul NodeSource si actualizeaza lista de pachete automat. Apoi instaleaza:

```bash
sudo apt install nodejs -y
```

Asta este tot. Node.js si npm sunt incluse in acest pachet:

```bash
node --version
npm --version
```

### Metoda 3: Cu NVM (cel mai bun pentru dezvoltatori)

NVM (Node Version Manager) iti permite sa instalezi si sa schimbi intre mai multe versiuni de Node.js pe acelasi calculator. Este varianta ideala daca lucrezi la mai multe proiecte care necesita versiuni diferite.

Instaleaza NVM:

```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
```

Reincarca shell-ul:

```bash
source ~/.bashrc
```

Acum poti instala orice versiune de Node.js:

```bash
# Instaleaza cea mai recenta versiune LTS
nvm install --lts

# Sau o versiune specifica
nvm install 20
nvm install 22

# Schimba intre versiuni
nvm use 20
nvm use 22

# Seteaza o versiune implicita
nvm alias default 22
```

Verifica versiunea activa:

```bash
node --version
```

### Verifica daca npm functionează

Creeaza un test rapid pentru a te asigura ca totul este functional:

```bash
mkdir ~/node-test && cd ~/node-test
npm init -y
npx cowsay "Node.js merge bine"
```

Daca vezi o vaca spunand ceva, instalarea este completa.

### Instaleaza Yarn (optional)

Unele proiecte folosesc Yarn in loc de npm. Instaleaza-l global:

```bash
npm install -g yarn
yarn --version
```

### Configurezi un proiect simplu

Iata un server web minim pentru a confirma ca Node.js poate servi trafic:

```bash
mkdir ~/my-app && cd ~/my-app
npm init -y
npm install express
```

Creeaza `index.js`:

```javascript
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('ITITAN Hosting VPS care ruleaza Node.js!');
});

app.listen(3000, () => {
  console.log('Serverul asculta pe portul 3000');
});
```

Ruleaza-l:

```bash
node index.js
```

Viziteaza `http://adresa-ip-server:3000` in browser. Ar trebui sa vezi mesajul.

### Gestionarea proceselor Node.js

Pentru productie, ai nevoie de ceva care sa mentina aplicatia pornita chiar daca se opreste. PM2 este cea mai populara alegere:

```bash
npm install -g pm2
pm2 start index.js
pm2 save
pm2 startup
```

Asta mentine aplicatia vie in caz de erori si reporniri.

### Probleme comune

**"node: command not found" dupa instalarea cu NVM.** Deconecteaza-te si reconecteaza-te, sau ruleaza `source ~/.bashrc`.

**Erori de permisiuni la instalari globale npm.** Daca ai instalat Node.js din repository-urile Ubuntu, foloseste `npm install -g` fara sudo. Daca primesti erori EACCES, treci la NVM.

**Portul 3000 nu este accesibil.** Asigura-te ca UFW permite portul:

```bash
sudo ufw allow 3000/tcp
```

### Rezumat

| Metoda       | Cel mai potrivit pentru                             |
| ------------ | --------------------------------------------------- |
| Ubuntu repos | Configurare rapida, nu ai nevoie de ultima versiune |
| NodeSource   | Versiune stabila recenta, o singura instalare       |
| NVM          | Schimbat intre versiuni, proiecte multiple          |
