Skip to content

Sử dụng NVM

Hướng dẫn này bao gồm cách sử dụng cơ bản của NVM (Node Version Manager) cho cả Windows và các hệ thống giống Unix (Linux, macOS, WSL).

Lệnh cơ bản

Liệt kê các phiên bản Node.js có sẵn

Để xem tất cả các phiên bản Node.js có sẵn mà bạn có thể cài đặt:

Windows (nvm-windows)

bash
nvm list available

NVM List Available

Linux/macOS (nvm-sh)

bash
nvm ls-remote

Cài đặt Node.js

Để cài đặt một phiên bản Node.js cụ thể:

Windows (nvm-windows)

bash
nvm install <version>

Ví dụ:

bash
nvm install 18.16.0

Linux/macOS (nvm-sh)

bash
nvm install <version>

Ví dụ:

bash
nvm install 18.16.0

Bạn cũng có thể cài đặt phiên bản LTS mới nhất:

bash
nvm install --lts

Liệt kê các phiên bản Node.js đã cài đặt

Để xem tất cả các phiên bản Node.js đã cài đặt trên hệ thống của bạn:

Windows (nvm-windows)

bash
nvm list

NVM List

Linux/macOS (nvm-sh)

bash
nvm ls

Chuyển đổi phiên bản Node.js

Để chuyển sang một phiên bản Node.js cụ thể:

Windows (nvm-windows)

bash
nvm use <version>

Ví dụ:

bash
nvm use 18.16.0

Linux/macOS (nvm-sh)

bash
nvm use <version>

Ví dụ:

bash
nvm use 18.16.0

Kiểm tra phiên bản Node.js hiện tại

Để xem phiên bản Node.js hiện đang hoạt động:

Windows (nvm-windows)

bash
nvm current

Linux/macOS (nvm-sh)

bash
nvm current

Hoặc đơn giản:

bash
node -v

Sử dụng nâng cao

Đặt phiên bản Node.js mặc định

Để đặt phiên bản Node.js mặc định sẽ được sử dụng khi mở terminal mới:

Windows (nvm-windows)

bash
nvm alias default <version>

Ví dụ:

bash
nvm alias default 18.16.0

Linux/macOS (nvm-sh)

bash
nvm alias default <version>

Ví dụ:

bash
nvm alias default 18.16.0

Sử dụng phiên bản Node.js cụ thể theo dự án với .nvmrc

Bạn có thể tạo tệp .nvmrc trong thư mục gốc của dự án để chỉ định phiên bản Node.js nào nên được sử dụng cho dự án đó.

  1. Tạo tệp .nvmrc với số phiên bản:
bash
echo "18.16.0" > .nvmrc

NVMRC File

  1. Sử dụng phiên bản đã chỉ định:

Windows (nvm-windows)

Với nvm-windows, bạn cần đọc tệp .nvmrc thủ công và sử dụng phiên bản đã chỉ định:

bash
nvm use $(type .nvmrc)

Linux/macOS (nvm-sh)

bash
nvm use

Điều này sẽ tự động đọc phiên bản từ tệp .nvmrc.

Gỡ cài đặt phiên bản Node.js

Để gỡ cài đặt một phiên bản Node.js cụ thể:

Windows (nvm-windows)

bash
nvm uninstall <version>

Ví dụ:

bash
nvm uninstall 18.16.0

Linux/macOS (nvm-sh)

bash
nvm uninstall <version>

Ví dụ:

bash
nvm uninstall 18.16.0

Chạy lệnh với phiên bản Node.js cụ thể

Windows (nvm-windows)

nvm-windows không hỗ trợ trực tiếp chạy lệnh với phiên bản Node.js cụ thể. Bạn cần chuyển đổi phiên bản trước:

bash
nvm use 18.16.0 && node script.js

Linux/macOS (nvm-sh)

bash
nvm exec 18.16.0 node script.js

Hoặc:

bash
nvm run 18.16.0 script.js

Làm việc với npm

Khi bạn chuyển đổi phiên bản Node.js bằng NVM, npm cũng được chuyển sang phiên bản được đóng gói với phiên bản Node.js đó.

Cài đặt gói npm toàn cục

Khi bạn cài đặt các gói npm toàn cục, chúng được cài đặt trong ngữ cảnh của phiên bản Node.js hiện tại. Để làm cho gói có sẵn trên tất cả các phiên bản Node.js, bạn cần cài đặt lại nó cho mỗi phiên bản.

bash
npm install -g <package-name>

Sử dụng npm với các phiên bản Node.js khác nhau

Nếu bạn muốn sử dụng phiên bản npm cụ thể với phiên bản Node.js:

bash
nvm use 18.16.0
npm install -g npm@9.6.4

Khắc phục sự cố

Vấn đề đường dẫn trên Windows

Nếu bạn gặp vấn đề với NVM trên Windows, có thể do xung đột PATH. Hãy thử:

  1. Đảm bảo rằng NVM đã được thêm đúng vào PATH của bạn
  2. Khởi động lại terminal hoặc máy tính
  3. Chạy terminal với quyền quản trị viên

Không tìm thấy phiên bản

Nếu bạn gặp lỗi không tìm thấy phiên bản:

  1. Kiểm tra kết nối internet của bạn
  2. Thử sử dụng gương để tải xuống nhanh hơn (xem cấu hình gương)
  3. Xác minh phiên bản tồn tại bằng cách kiểm tra danh sách các phiên bản có sẵn

Vấn đề quyền trên Linux/macOS

Nếu bạn gặp vấn đề về quyền:

  1. Không bao giờ sử dụng sudo với các lệnh NVM
  2. Kiểm tra quyền sở hữu thư mục ~/.nvm của bạn:
bash
ls -la ~/.nvm
  1. Sửa quyền nếu cần:
bash
chown -R $(whoami) ~/.nvm

Tài nguyên bổ sung

NVM - Trình quản lý phiên bản Node cho Windows, Linux và macOS