Hướng dẫn cài đặt Node.js trên Ubuntu Chi tiết A – Z (2026)

Node.js là môi trường runtime JavaScript mã nguồn mở hoạt động phía máy chủ (server-side). Công nghệ này cho phép các nhà phát triển xây dựng các ứng dụng backend có khả năng mở rộng cao bằng chính ngôn ngữ JavaScript quen thuộc.

Hướng dẫn này trình bày cụ thể 4 phương pháp cài đặt Node.js trên hệ điều hành Ubuntu:

  1. Sử dụng trình quản lý gói apt mặc định của Ubuntu.
  2. Sử dụng apt kết hợp với kho lưu trữ PPA của NodeSource để tùy chọn các phiên bản cụ thể.
  3. Sử dụng NVM (Node Version Manager) để cài đặt và quản lý linh hoạt nhiều phiên bản song song.
  4. Biên dịch trực tiếp từ mã nguồn (Source Code) dành cho người dùng nâng cao nâng cao hiệu năng.

Tùy vào nhu cầu thực tế, bạn có thể chọn phương án phù hợp. Trình quản lý mặc định apt là lựa chọn nhanh nhất nếu bạn chỉ cần chạy các ứng dụng cơ bản. Nếu cần các phiên bản Node mới hơn hoặc cũ hơn để tương thích dự án, NodeSource PPA là giải pháp tốt. Riêng đối với các nhà phát triển cần chuyển đổi phiên bản liên tục giữa các dự án, NVM là công cụ bắt buộc phải có.

Hướng dẫn cài đặt Node.js trên Ubuntu

Yêu cầu hệ thống trước khi cài đặt Node.js trên Ubuntu

Để thực hiện theo hướng dẫn này, bạn cần chuẩn bị:

  1. Một máy chủ chạy hệ điều hành Ubuntu (hỗ trợ tốt nhất các phiên bản Ubuntu 20.04, 22.04 và 24.04 LTS).
  2. Tài khoản người dùng có quyền thực thi lệnh sudo (hạn chế sử dụng trực tiếp tài khoản root để đảm bảo an toàn bảo mật).
Ứng dụng Node.js thường yêu cầu hiệu năng đọc/ghi (I/O) cực cao cùng băng thông kết nối ổn định. Để đảm bảo môi trường vận hành mượt mà, bạn nên trang bị một máy chủ ảo chất lượng cao. Tham khảo dịch vụ Thuê máy chủ VPS tốc độ cao tại InterData với hệ thống lưu trữ NVMe U.2 siêu nhanh, hạ tầng mạng băng thông rộng và đội ngũ hỗ trợ kỹ thuật 24/7 luôn đồng hành cùng bạn.

Cách 1: Cài đặt Node.js từ kho ứng dụng mặc định của Ubuntu qua Apt

Kho phần mềm chính thức của Ubuntu luôn tích hợp sẵn một phiên bản ổn định của Node.js để người dùng dễ dàng cài đặt và đồng bộ hệ thống nhanh chóng. Phiên bản này tuy không phải là mới nhất nhưng có độ ổn định cực kỳ cao, phù hợp cho các tác vụ thử nghiệm hoặc vận hành hệ thống cơ bản.

Đầu tiên, hãy cập nhật lại danh sách gói phần mềm trên máy chủ:

sudo apt update

Tiếp tục chạy lệnh cài đặt gói Node.js:

sudo apt install nodejs

Nhấn Y (hoặc C) để xác nhận khi hệ thống yêu cầu. Sau khi tiến trình hoàn tất, bạn hãy kiểm tra lại phiên bản Node.js đã được cài đặt bằng lệnh:

node -v

Thông tin trả về sẽ có định dạng tương tự như sau (số phiên bản cụ thể có thể thay đổi tùy thuộc vào thời điểm bạn cài đặt):

v24.13.0

Để quản lý các thư viện và package bổ sung, bạn cần cài đặt thêm npm (Node Package Manager). Thông thường trên một số bản phân phối Ubuntu, npm không đi kèm sẵn với gói nodejs của hệ thống. Bạn cài đặt nó bằng lệnh:

sudo apt install npm

Đến đây, bạn đã hoàn tất việc thiết lập cơ bản Node.js và npm trực tiếp từ kho ứng dụng chính thức của hệ điều hành.

Cách 2: Cài đặt Node.js phiên bản mới bằng NodeSource PPA

Nếu dự án của bạn đòi hỏi một phiên bản Node.js cụ thể hoặc phiên bản mới nhất chưa có trên kho của Ubuntu, việc sử dụng kho lưu trữ PPA (Personal Package Archive) do NodeSource duy trì là giải pháp lý tưởng.

Để đảm bảo an toàn và tương thích với các cơ chế bảo mật mới của Ubuntu, chúng tôi khuyên bạn nên sử dụng phương thức thiết lập khóa GPG hiện đại thay vì chạy các script cài đặt cũ đã bị khai tử.

Trước tiên, hãy cài đặt các công cụ hỗ trợ tải và bảo mật:

sudo apt-get update -y
sudo apt-get install -y ca-certificates curl gnupg

Tạo thư mục lưu trữ khóa bảo mật GPG và tải khóa của NodeSource về hệ thống:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

Thiết lập phiên bản Node.js mong muốn (ví dụ dưới đây thiết lập cài đặt phiên bản Node.js 20):

NODE_MAJOR=20
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

(Lưu ý: Bạn có thể thay đổi giá trị NODE_MAJOR=20 thành 2224 hoặc phiên bản khác tùy theo nhu cầu thực tế của dự án).

Cập nhật lại danh sách gói và tiến hành cài đặt Node.js:

sudo apt-get update
sudo apt-get install -y nodejs

Sau khi hoàn tất, xác nhận lại phiên bản đã cài đặt thành công:

node -v
npm -v

Sử dụng NodeSource PPA sẽ tự động cài đặt cả node và npm đồng bộ với nhau, bạn không cần cài thêm npm thủ công như ở Cách 1.

Cách 3: Sử dụng NVM (Node Version Manager) để quản lý nhiều phiên bản

Đối với các lập trình viên đang vận hành nhiều dự án khác nhau trên cùng một máy chủ, việc mỗi dự án yêu cầu một phiên bản Node.js riêng biệt là điều rất thường gặp. NVM (Node Version Manager) giải quyết triệt để vấn đề này bằng cách cho phép cài đặt và chuyển đổi qua lại giữa hàng loạt phiên bản Node.js một cách linh hoạt.

Truy cập trang chủ dự án NVM trên GitHub để lấy đoạn mã cài đặt mới nhất, hoặc chạy trực tiếp lệnh dưới đây (phiên bản v0.40.3 tại thời điểm viết bài):

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

Sau khi script chạy xong, để kích hoạt nvm ngay lập tức trong phiên làm việc hiện tại mà không cần khởi động lại Terminal, hãy nạp lại cấu hình file .bashrc:

source ~/.bashrc

Kiểm tra danh sách toàn bộ các phiên bản Node.js có sẵn trên hệ thống máy chủ của Node.js:

nvm list-remote

Bạn sẽ nhận được một danh sách rất dài bao gồm cả các phiên bản LTS (Long-Term Support) ổn định nhất. Để cài đặt một phiên bản cụ thể (ví dụ bản v24.13.0), bạn chạy lệnh:

nvm install v24.13.0

Hoặc tải bản LTS ổn định nhất bằng bí danh (alias):

nvm install --lts

Để xem danh sách tất cả phiên bản Node.js đã được cài đặt trực tiếp trên máy chủ của bạn:

nvm list

Để chuyển đổi sang sử dụng một phiên bản khác đã cài đặt:

nvm use v20.10.0

Bạn cũng có thể đặt phiên bản mặc định cho mỗi lần đăng nhập mới vào hệ thống máy chủ bằng lệnh:

nvm alias default v20.10.0

Sử dụng NVM giúp bạn cô lập hoàn toàn môi trường chạy Node.js của từng user, tránh việc xung đột thư viện hệ thống và hạn chế tối đa các lỗi phân quyền nguy hiểm.

Cách 4: Biên dịch Node.js trực tiếp từ Mã nguồn (Dành cho Chuyên gia)

Nếu bạn cần tối ưu hiệu năng chạy Node.js ở mức tối đa bằng các cờ tối ưu hóa biên dịch cụ thể của CPU, hoặc cần tích hợp thêm các tính năng tùy chỉnh vào nhân của Node.js, phương pháp tự biên dịch từ mã nguồn (Source Code) là sự lựa chọn duy nhất.

⚠️ Khuyến cáo tài nguyên phần cứng: Tiến trình biên dịch mã nguồn đòi hỏi tài nguyên CPU và RAM cực kỳ lớn. Nếu máy chủ của bạn có cấu hình quá yếu, tiến trình biên dịch có thể bị treo hoặc crash giữa chừng. Hãy chắc chắn rằng bạn đang sử dụng một cấu hình máy chủ đủ mạnh mẽ. Bạn có thể tham khảo bảng giá dịch vụ nâng cấp cấu hình máy chủ ảo linh hoạt tại InterData để đáp ứng tốt tiến trình biên dịch này.

Đầu tiên, cài đặt toàn bộ các công cụ biên dịch bắt buộc trên Ubuntu:

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

Truy cập trang tải xuống chính thức của Node.js để lấy link tarball mã nguồn của phiên bản bạn muốn cài đặt. Dưới đây là ví dụ tải bản v24.13.0:

wget https://nodejs.org/dist/v24.13.0/node-v24.13.0.tar.gz

Giải nén thư mục mã nguồn vừa tải xuống hệ thống:

tar -xzf node-v24.13.0.tar.gz
cd node-v24.13.0

Chạy cấu hình môi trường biên dịch. Mặc định Node.js sẽ được cài đặt vào hệ thống tại /usr/local. Nếu bạn muốn chỉ định thư mục cài đặt riêng để dễ quản lý, hãy thêm cờ --prefix:

./configure --prefix=$HOME/.local/node-v24.13.0

Tiến hành biên dịch mã nguồn. Để tăng tốc độ biên dịch bằng cách tận dụng toàn bộ số nhân luồng CPU của máy chủ, hãy sử dụng cờ -j kết hợp với số lượng nhân thực tế:

make -j$(nproc)

(Quá trình này có thể mất từ 15 phút đến hơn 1 tiếng tùy vào sức mạnh phần cứng máy chủ của bạn).

Sau khi hoàn thành tiến trình build, chạy thử các bài test để kiểm tra tính ổn định:

make test

Nếu không xuất hiện lỗi nghiêm trọng, tiến hành cài đặt chương trình lên hệ thống máy chủ:

make install

Trường hợp bạn đã tùy chỉnh thư mục cài đặt riêng (--prefix ở bước trên), hãy thêm đường dẫn của thư mục bin vào biến môi trường hệ thống trong file .bashrc để hệ thống hiểu được các lệnh thực thi node và npm:

nano ~/.bashrc

Thêm dòng sau vào cuối file .bashrc:

export PATH="$HOME/.local/node-v24.13.0/bin:$PATH"

Lưu file lại và nạp lại cấu hình:

source ~/.bashrc

Cuối cùng, dọn dẹp các thư mục giải nén tạm thời để tiết kiệm không gian lưu trữ cho ổ cứng:

cd ..
rm node-v24.13.0.tar.gz
rm -rf node-v24.13.0

Cách gỡ bỏ hoàn toàn Node.js khỏi Ubuntu

Tùy vào phương thức bạn sử dụng để cài đặt lúc đầu, cách gỡ bỏ cũng sẽ khác nhau:

1. Gỡ bỏ phiên bản cài đặt qua Apt (Default hoặc NodeSource)

Nếu chỉ cần gỡ bỏ phần mềm và giữ lại các file cấu hình tạm:

sudo apt remove nodejs

Để dọn dẹp sạch sẽ toàn bộ các file cấu hình liên quan đến Node.js trên hệ thống:

sudo apt purge nodejs

2. Gỡ bỏ phiên bản quản lý bởi NVM

Trước khi gỡ bỏ một phiên bản cụ thể, hãy kiểm tra xem nó có đang hoạt động hay không bằng lệnh nvm current. Nếu nó đang hoạt động, bạn cần tạm thời hủy kích hoạt NVM:

nvm deactivate

Sau đó tiến hành gỡ bỏ phiên bản không mong muốn:

nvm uninstall <phiên_bản_node>

Các lỗi thường gặp và cách xử lý nhanh chóng

1. Lỗi phân quyền khi cài đặt Package Global bằng NPM (Permission Denied)

Nguyên nhân: Lỗi xảy ra khi bạn cài đặt Node.js hệ thống qua apt. Khi chạy lệnh npm install -g <package-name>, NPM sẽ ghi dữ liệu trực tiếp vào các thư mục hệ thống bảo mật (như /usr/local/lib/node_modules) – nơi yêu cầu quyền quản trị cao nhất.

Cách khắc phục:

  • Cách 1: (Hạn chế khuyên dùng vì rủi ro bảo mật): Chạy lệnh với quyền quản trị sudo npm install -g <package-name>.
  • Cách 2: Khắc phục triệt để bằng cách thay đổi quyền sở hữu thư mục NPM cho tài khoản người dùng hiện tại của bạn:
sudo chown -R $USER:$(whoami) /usr/local/{lib/node_modules,bin,share/man} && sudo chown -R $USER:$(whoami) ~/.npm
  • Cách 3: Sử dụng NVM để cài đặt Node.js. Do NVM cài đặt độc lập bên trong thư mục cá nhân của user, bạn hoàn toàn có thể chạy cài đặt global thoải mái mà không lo ngại vấn đề phân quyền.

2. Lỗi không tìm thấy lệnh NVM sau khi cài đặt (Command 'nvm' not found)

Nguyên nhân: Đường dẫn thực thi của NVM chưa được nạp vào biến môi trường của Terminal hiện tại.

Cách khắc phục: Thêm thủ công đoạn mã khởi tạo nvm vào file cấu hình shell của bạn (như .bashrc hoặc .zshrc):

source ~/.nvm/nvm.sh

Nạp lại file cấu hình bằng lệnh source ~/.bashrc hoặc đơn giản là tắt Terminal đi và mở lại một phiên làm việc mới.

3. Xung đột giữa phiên bản Node.js cài bằng apt và nvm

Nguyên nhân: Bạn vừa cài đặt Node.js qua trình quản lý hệ thống apt, vừa cài phiên bản khác qua nvm. Khi chạy lệnh node -v, hệ thống sẽ bối rối không biết nên gọi phiên bản nào, dẫn đến chạy sai phiên bản dự án yêu cầu hoặc gây lỗi biên dịch package.

Cách khắc phục: Lời khuyên của chúng tôi là hãy đồng nhất môi trường. Nếu đã dùng NVM để quản lý dự án, hãy xóa bỏ hoàn toàn phiên bản Node cài qua apt để tránh xung đột:

sudo apt purge nodejs
nvm install node

Câu hỏi thường gặp (FAQs)

1. Phương pháp cài đặt Node.js tốt nhất trên Ubuntu là gì?

Lựa chọn phương pháp tối ưu tùy thuộc hoàn toàn vào nhu cầu sử dụng thực tế của bạn:

  • Để triển khai nhanh chóng & ổn định: Cài đặt qua kho ứng dụng mặc định apt là lựa chọn đơn giản nhất.
  • Để chạy các phiên bản Node.js mới nhất (Khuyên dùng cho phần lớn người dùng): Sử dụng kho lưu trữ NodeSource PPA để vừa đảm bảo tính cập nhật vừa dễ dàng quản lý thông qua apt.
  • Dành cho các nhà phát triển phần mềm: Node Version Manager (NVM) là công cụ tối ưu nhất vì nó cho phép cài đặt và chuyển đổi linh hoạt giữa nhiều phiên bản Node.js khác nhau mà không sợ xung đột môi trường.

2. Bộ cài đặt Node.js có đi kèm trình quản lý gói npm không?

Có. Hầu hết các phương pháp cài đặt phổ biến (như NodeSource PPA, cài đặt qua NVM, hoặc tự biên dịch mã nguồn) đều tự động tích hợp trình quản lý gói npm đi kèm với Node.js. Nếu cài đặt từ kho mặc định của Ubuntu qua lệnh sudo apt install nodejs, bạn chỉ cần chạy thêm lệnh sudo apt install npm để trang bị đầy đủ công cụ quản lý này.

3. Làm thế nào để cập nhật phiên bản Node.js mới trên Ubuntu?

Quy trình cập nhật phụ thuộc vào phương thức bạn cài đặt ban đầu:

  • Nếu cài qua apt (Default hoặc NodeSource): Bạn chỉ cần cập nhật lại cấu hình script NodeSource cho phiên bản mới (ví dụ thay đổi giá trị cấu hình từ bản 20.x sang 22.x), cập nhật lại cache hệ thống rồi chạy lệnh nâng cấp:
sudo apt update
sudo apt install --only-upgrade nodejs
  • Nếu cài qua NVM: Bạn chỉ việc tải phiên bản mới nhất và đặt nó làm mặc định:
nvm install <phiên_bản_mới>
nvm alias default <phiên_bản_mới>

4. Tôi có thể cài đặt song song nhiều phiên bản Node.js trên cùng một máy chủ không?

Có, điều này hoàn toàn khả thi và cực kỳ phổ biến trong môi trường phát triển ứng dụng thực tế. Sử dụng công cụ NVM (Node Version Manager) là cách tốt nhất để bạn cài đặt, quản lý và chuyển đổi qua lại giữa hàng loạt phiên bản Node.js khác nhau mà không lo ngại rủi ro xung đột tài nguyên hay phân quyền hệ thống.

5. Cài đặt các gói Node.js từ kho lưu trữ của NodeSource có an toàn không?

Rất an toàn. NodeSource là một doanh nghiệp công nghệ lớn, uy tín và có đóng góp lâu năm trong việc xây dựng các công cụ, giải pháp doanh nghiệp cho cộng đồng Node.js. Các gói cài đặt được phân phối qua NodeSource đều được ký số bảo mật bằng khóa GPG đáng tin cậy, giúp hệ thống Ubuntu của bạn kiểm tra tính toàn vẹn và xác thực nguồn gốc dữ liệu một cách an toàn nhất trước khi cài đặt.