---
title: "Cách Cài Đặt Node.js trên Ubuntu (Hướng Dẫn Từng Bước)"
description: "Node.js là môi trường chạy JavaScript cho lập trình phía máy chủ. Nó cho phép các nhà phát triển tạo chức năng backend có khả năng mở rộng bằng JavaScript, một ngôn ngữ mà nhiều người đã quen thuộc từ phát triển web trên trình duyệt."
url: https://cloudfly.vn/cach-cai-dat-nodejs-tren-ubuntu-huong-dan-tung-buoc
image: https://media.cloudfly.vn/posts/cach-cai-dat-node-ej-tren-ubuntu.png
---

# Cách Cài Đặt Node.js trên Ubuntu (Hướng Dẫn Từng Bước)

![description image](https://media.cloudfly.vn/posts/cach-cai-dat-node-ej-tren-ubuntu.png)
## Yêu cầu trước

Hướng dẫn này giả định bạn đang dùng phiên bản Ubuntu mới nhất (tại thời điểm viết, là Ubuntu LTS 24.04). Trước khi bắt đầu, bạn nên có tài khoản người dùng không phải root với quyền sudo trên hệ thống. Bạn có thể tham khảo cách thực hiện trong bộ hướng dẫn 

Trước khi tiếp tục, chúng tôi khuyên bạn xem biểu đồ phân phối của [nodesource](https://github.com/nodesource/distributions?tab=readme-ov-file#debian-and-ubuntu-based-distributions) để kiểm tra phiên bản Node tương thích với Ubuntu bạn đang dùng.

> **Lưu ý:** Các bước này áp dụng cho các phiên bản Ubuntu mới nhất: 24.04, 22.04 và 20.04. Nếu bạn dùng Ubuntu phiên bản <= 18.04, nên nâng cấp lên phiên bản mới hơn vì Ubuntu đã ngừng hỗ trợ cho các phiên bản cũ. 

## Lựa chọn 1 — Cài đặt Node.js bằng Apt từ kho mặc định

Ubuntu cung cấp một phiên bản Node.js trong kho phần mềm mặc định, giúp trải nghiệm đồng nhất trên nhiều hệ thống. Tại thời điểm viết, phiên bản trong kho là 12.22.9. Phiên bản này không phải là mới nhất nhưng ổn định và đủ dùng để thử nghiệm nhanh với ngôn ngữ.

Để cài phiên bản này, bạn dùng trình quản lý gói `apt`. Trước tiên làm mới chỉ mục gói địa phương:

```bash
sudo apt update
```

Rồi cài Node.js:

```bash
sudo apt install nodejs
```

Nhấn `Y` khi được yêu cầu xác nhận cài đặt. Nếu được yêu cầu khởi động lại dịch vụ, nhấn `ENTER` để chấp nhận mặc định và tiếp tục. Kiểm tra cài đặt thành công bằng cách hỏi phiên bản `node`:

```bash
node -v
```

```console
v18.19.1
```

Nếu phiên bản trong kho đáp ứng nhu cầu, đây là tất cả bạn cần làm để cài Node.js. Thông thường bạn cũng muốn cài `npm`, trình quản lý gói Node.js, bằng lệnh:

```bash
sudo apt install npm
```

Điều này cho phép bạn cài các module và gói dùng với Node.js.

Bây giờ bạn đã cài thành công Node.js và `npm` bằng `apt` với kho phần mềm mặc định Ubuntu. Phần kế tiếp sẽ hướng dẫn dùng kho thay thế để cài các phiên bản khác của Node.js.

## Lựa chọn 2 — Cài Node.js bằng Apt dùng PPA NodeSource

Để cài phiên bản Node.js khác, bạn có thể dùng *PPA* (kho phần mềm cá nhân) do NodeSource duy trì. Các PPA này có nhiều phiên bản Node.js hơn kho chính thức của Ubuntu. Các phiên bản v14, v16 và v18 có sẵn tại thời điểm viết.

Đầu tiên, cài PPA để truy cập gói của nó. Từ thư mục nhà, dùng `curl` lấy script cài đặt cho phiên bản bạn chọn, thay `20.x` bằng phiên bản mong muốn nếu khác.

> **Lưu ý:** Nếu chưa có curl, cài nó với `sudo apt install curl`.

```bash
cd ~
curl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh
```

Bạn có thể xem nội dung script với `nano` hoặc trình soạn thảo bạn thích:

```bash
nano nodesource_setup.sh
```

Việc chạy script ngoài không luôn được xem là tốt nhất, nhưng ở đây NodeSource dùng logic riêng đảm bảo lệnh đúng với hệ thống. Nếu bạn thấy script an toàn, thoát trình soạn thảo và chạy script với `sudo`:

```bash
sudo bash nodesource_setup.sh
```

PPA sẽ được thêm vào cấu hình và bộ nhớ cache gói cục bộ cập nhật tự động. Giờ bạn có thể cài gói Node.js như đã làm ở phần trước. Bạn nên gỡ phiên bản Node.js cũ khỏi hệ thống trước khi cài mới bằng:

```bash
sudo apt remove nodejs npm
```

Chỉ gỡ các phiên bản này, không ảnh hưởng cấu hình. PPA của bên thứ ba không phải lúc nào cũng tương thích nâng cấp trực tiếp từ gói mặc định, nếu gặp sự cố có thể quay về trạng thái sạch.

```bash
sudo apt install nodejs
```

Kiểm tra phiên bản cài mới:

```bash
node -v
```

```console
v23.11.1
```

Gói `nodejs` của NodeSource bao gồm cả `node` và `npm`, nên không cần cài riêng `npm`.

Bạn đã cài thành công Node.js và `npm` qua apt và PPA NodeSource. Phần tiếp theo sẽ hướng dẫn dùng Node Version Manager để quản lý nhiều phiên bản Node.js.

## Lựa chọn 3 — Cài Node bằng Node Version Manager

Một cách linh hoạt để cài Node.js là dùng nvm, công cụ quản lý phiên bản Node. Nó cho phép bạn cài và duy trì nhiều phiên bản Node.js và các gói liên quan cùng lúc.

Để cài NVM trên Ubuntu, truy cập [GitHub của dự án](https://github.com/nvm-sh/nvm). Sao chép lệnh `curl` trong file README trên trang chính để lấy script cài mới nhất.

Trước khi chuyển lệnh cho `bash`, nên kiểm tra script kỹ xem có hành động không mong muốn không bằng cách bỏ đoạn `| bash` ở cuối:

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

Xem nội dung, khi chắc chắn, chạy lại lệnh có đoạn `| bash` để cài:

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

Script sẽ cài `nvm` cho tài khoản của bạn. Để dùng, tải lại file `.bashrc`:

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

Bây giờ hỏi NVM các phiên bản Node có sẵn:

```bash
nvm list-remote
```

Danh sách rất dài! Để cài một phiên bản, gõ số phiên bản. Ví dụ cài v22.16.0 (phiên bản LTS):

```bash
nvm install v22.16.0
```

Xem các phiên bản đã cài:

```bash
nvm list
```

Phiên bản đang dùng sẽ ở dòng đầu (`-> v22.16.0`), theo sau là các bí danh và phiên bản tương ứng.

> **Lưu ý:** Nếu bạn cũng có Node cài qua apt, sẽ thấy mục `system`. Bạn có thể kích hoạt phiên bản hệ thống bằng `nvm use system`.

Bạn cũng có thể cài theo bí danh LTS, ví dụ:

```bash
nvm install lts/fermium
```

```console
Downloading and installing node v14.21.3...
Downloading https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-x64.tar.xz...
################################################################################# 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v14.21.3 (npm v6.14.18)
```

Kiểm tra cài thành công:

```bash
node -v
```

```console
v14.21.3
```

Nếu bạn đã làm theo đến đây, bạn có thể có 2 phiên bản Node được cài:

```bash
nvm list
```

Phiên bản hiện đang dùng là `v14.21.3`. Để chuyển sang `v22.16.0`:

```bash
nvm use v22.16.0
```

```console
Now using node v22.16.0 (npm v10.9.2)
```

Kiểm tra phiên bản hiện tại bằng `node -v` hoặc `nvm current`.

Đặt mặc định mỗi lần mở shell mới:

```bash
nvm alias default <version_number>
```

Ví dụ:

```bash
nvm alias default v22.16.0
```

```console
default -> v22.16.0
```

Giờ mỗi lần mở shell mới, phiên bản này sẽ được dùng.

## Lựa chọn 4 — Cài Node.js từ mã nguồn (dành cho người dùng nâng cao)

Mặc dù kho Ubuntu và NodeSource cung cấp cách cài đơn giản, biên dịch từ nguồn hữu ích trong một số trường hợp như cần phiên bản không có sẵn, tùy chỉnh tính năng biên dịch, phát triển lõi Node.js hoặc áp dụng patch riêng, tối ưu hiệu năng. Cách này dành cho người dùng nâng cao.

Đầu tiên, cài công cụ cần thiết:

```bash
sudo apt update
sudo apt install build-essential python3 g++ make pkg-config
```

Truy cập [trang tải Node.js chính thức](https://nodejs.org/en/download/) và tìm link "Source code" của phiên bản bạn muốn (thường là tar.gz). Mở terminal, tải file:

```bash
wget https://nodejs.org/dist/v20.19.2/node-v20.19.2.tar.gz
```

Ví dụ này dùng phiên bản `v20.19.2` nhưng bạn thay bằng phiên bản bạn muốn.

Giải nén:

```bash
tar -xzf node-v20.19.2.tar.gz
```

Vào thư mục mã nguồn:

```bash
cd node-v20.19.2
```

Cấu hình môi trường biên dịch:

```bash
./configure
```

Mặc định cài Node.js vào `/usr/local`. Nếu muốn cài nơi khác, dùng `--prefix`:

```bash
./configure --prefix=$HOME/.local/node-v20.19.2 # hoặc đường dẫn bạn thích
```

Biên dịch nguồn:

```bash
make
```

Quá trình này lâu tùy hệ thống. Bạn có thể tăng tốc bằng cách dùng `-j` với số lõi CPU, ví dụ:

```bash
make -j$(nproc)
```

Kiểm tra build:

```bash
make test
```

Nếu lỗi, kiểm tra lại môi trường hoặc phụ thuộc.

Cài Node.js:

```bash
sudo make install
```

Nếu cài vào thư mục không cần quyền root, bỏ `sudo`. Sau cài, thêm thư mục `bin` của cài đặt vào biến môi trường `PATH` trong file cấu hình shell (`~/.bashrc` hoặc `~/.zshrc`):

```bash
export PATH="$HOME/.local/node-v20.19.2/bin:$PATH"
```

Lưu file và áp dụng:

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

Kiểm tra phiên bản cài đặt:

```bash
node -v
npm -v
```

Dọn dẹp file tải về và thư mục giải nén:

```bash
cd ..
rm node-v20.19.2.tar.gz
rm -rf node-v20.19.2
```

## Gỡ bỏ Node.js

Bạn có thể gỡ Node.js bằng `apt` hoặc `nvm` tùy cách cài.

Gỡ bằng apt:

```bash
sudo apt remove nodejs
```

Mặc định lệnh này giữ lại file cấu hình, nếu muốn xóa sạch dùng:

```bash
sudo apt purge nodejs
```

Gỡ Node cài bằng nvm:

Xem phiên bản hiện đang dùng:

```bash
nvm current
```

Nếu không phải phiên bản bạn muốn gỡ, chạy:

```bash
nvm uninstall node_version
```

Nếu là phiên bản đang dùng, trước hết vô hiệu hóa nvm:

```bash
nvm deactivate
```

Sau đó gỡ:

```bash
nvm uninstall node_version
```

## Câu hỏi thường gặp

### 1. Cách tốt nhất để cài Node.js trên Ubuntu là gì?

Phụ thuộc nhu cầu của bạn:

- Đơn giản và ổn định (thường không phải phiên bản mới nhất): dùng kho mặc định của Ubuntu:

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

- Phiên bản mới hơn (khuyến nghị cho đa số): dùng kho NodeSource, cập nhật hơn kho chuẩn Ubuntu:

  ```bash
  curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
  sudo apt install -y nodejs
  ```

- Quản lý nhiều phiên bản Node (dành cho nhà phát triển): dùng NVM quản lý cài đặt và chuyển đổi phiên bản linh hoạt.

### 2. Node.js có kèm theo `npm` không?

Có, npm được cài kèm theo Node.js khi dùng bất kỳ cách cài phổ biến nào. Kiểm tra bằng:

```bash
node -v
npm -v
```

### 3. Làm sao cập nhật Node.js trên Ubuntu?

- Nếu cài qua apt (kho Ubuntu hoặc NodeSource): chạy script NodeSource cho phiên bản mới, rồi chạy cài đặt lại.

  ```bash
  curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
  sudo apt update
  sudo apt install nodejs
  ```

- Nếu cài qua NVM:

  ```bash
  nvm install node        # Phiên bản mới nhất
  nvm install --lts       # Phiên bản LTS mới nhất
  nvm install 20.10.0     # Phiên bản cụ thể
  nvm use <phiên bản>
  ```

### 4. Có thể cài nhiều phiên bản Node.js không?

Có, dùng NVM quản lý nhiều phiên bản song song, chuyển đổi dễ dàng.

### 5. Cài Node.js từ NodeSource có an toàn không?

Có, NodeSource là tổ chức uy tín chuyên về Node.js. Script setup mã nguồn mở, có thể xem trước. Thêm PPA là việc phổ biến tương tự khi dùng các kho của bên thứ ba.

## Kết luận

Có nhiều cách để chạy Node.js trên Ubuntu. Tùy vào nhu cầu, bạn chọn cách phù hợp. Dùng gói kho mặc định là đơn giản nhất, trong khi nvm hoặc PPA NodeSource cung cấp thêm linh hoạt.
