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 thiết lập máy chủ Ubuntu ban đầu.
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 để 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ũ. Bộ hướng dẫn này nâng cấp Ubuntu LTS sẽ giúp bạn nâng cấp.
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:
sudo apt update
Rồi cài Node.js:
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
:
node -v
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:
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.
Để 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
.
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:
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
:
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:
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.
sudo apt install nodejs
Kiểm tra phiên bản cài mới:
node -v
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.
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. 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:
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:
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
:
source ~/.bashrc
Bây giờ hỏi NVM các phiên bản Node có sẵn:
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):
nvm install v22.16.0
Xem các phiên bản đã cài:
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ằngnvm use system
.
Bạn cũng có thể cài theo bí danh LTS, ví dụ:
nvm install lts/fermium
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:
node -v
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:
nvm list
Phiên bản hiện đang dùng là v14.21.3
. Để chuyển sang v22.16.0
:
nvm use v22.16.0
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:
nvm alias default <version_number>
Ví dụ:
nvm alias default v22.16.0
default -> v22.16.0
Giờ mỗi lần mở shell mới, phiên bản này sẽ được dùng.
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:
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 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:
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:
tar -xzf node-v20.19.2.tar.gz
Vào thư mục mã nguồn:
cd node-v20.19.2
Cấu hình môi trường biên dịch:
./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
:
./configure --prefix=$HOME/.local/node-v20.19.2 # hoặc đường dẫn bạn thích
Biên dịch nguồn:
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ụ:
make -j$(nproc)
Kiểm tra build:
make test
Nếu lỗi, kiểm tra lại môi trường hoặc phụ thuộc.
Cài Node.js:
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
):
export PATH="$HOME/.local/node-v20.19.2/bin:$PATH"
Lưu file và áp dụng:
source ~/.bashrc
Kiểm tra phiên bản cài đặt:
node -v
npm -v
Dọn dẹp file tải về và thư mục giải nén:
cd ..
rm node-v20.19.2.tar.gz
rm -rf node-v20.19.2
Bạn có thể gỡ Node.js bằng apt
hoặc nvm
tùy cách cài.
Gỡ bằng apt:
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:
sudo apt purge nodejs
Gỡ Node cài bằng nvm:
Xem phiên bản hiện đang dùng:
nvm current
Nếu không phải phiên bản bạn muốn gỡ, chạy:
nvm uninstall node_version
Nếu là phiên bản đang dùng, trước hết vô hiệu hóa nvm:
nvm deactivate
Sau đó gỡ:
nvm uninstall node_version
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:
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:
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.
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:
node -v
npm -v
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.
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:
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>
Có, dùng NVM quản lý nhiều phiên bản song song, chuyển đổi dễ dà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.
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.
Để tìm hiểu thêm về lập trình Node.js, tham khảo các tài nguyên sau: