Quản Lý Phiên Bản Node.js
fnm cung cấp các tính năng quản lý phiên bản mạnh mẽ, cho phép bạn dễ dàng chuyển đổi giữa nhiều phiên bản Node.js.
Hoạt Động Cơ Bản
Xem Các Phiên Bản Đã Cài Đặt
bash
fnm listVí dụ đầu ra:
* v20.10.0 default
v18.19.0
v16.20.2*chỉ phiên bản đang được sử dụngdefaultchỉ phiên bản mặc định
Xem Phiên Bản Hiện Tại
bash
fnm currentChuyển Đổi Phiên Bản
bash
# Chuyển sang phiên bản cụ thể
fnm use 20
# Chuyển sang phiên bản chính xác cụ thể
fnm use 20.10.0
# Nếu phiên bản chưa được cài đặt, tự động cài đặt rồi chuyển đổi
fnm use 18 --install-if-missingPhiên Bản Mặc Định
Đặt Phiên Bản Mặc Định
bash
fnm default 20Phiên bản mặc định là:
- Phiên bản được sử dụng khi một phiên terminal mới bắt đầu
- Phiên bản được sử dụng khi không có tệp phiên bản
Xem Phiên Bản Mặc Định
bash
fnm defaultAlias Phiên Bản
Alias cho phép bạn đặt các tên dễ nhớ cho các phiên bản.
Tạo Alias
bash
# Đặt alias cho phiên bản
fnm alias 20 default
fnm alias 18 legacy
fnm alias 16 oldSử Dụng Alias
bash
# Chuyển đổi phiên bản qua alias
fnm use default
fnm use legacyXóa Alias
bash
fnm unalias legacyTự Động Chuyển Đổi Phiên Bản
fnm có thể tự động chuyển đổi phiên bản Node.js dựa trên thư mục dự án.
Bật Tự Động Chuyển Đổi
Thêm --use-on-cd vào cấu hình Shell:
bash
eval "$(fnm env --use-on-cd)"Tạo Tệp Phiên Bản
Tạo tệp .node-version hoặc .nvmrc trong thư mục gốc dự án:
bash
# Sử dụng .node-version (khuyến nghị)
echo "20" > .node-version
# Hoặc sử dụng .nvmrc (tương thích với nvm)
echo "v18.17.0" > .nvmrcĐịnh Dạng Tệp Phiên Bản
.node-version hỗ trợ các định dạng sau:
20 # Phiên bản chính, sử dụng mới nhất 20.x.x
20.10 # Phiên bản phụ, sử dụng mới nhất 20.10.x
20.10.0 # Phiên bản chính xác
lts/iron # Tên phiên bản LTSChiến Lược Phân Tích Tệp Phiên Bản
fnm hỗ trợ hai chiến lược phân tích tệp phiên bản:
bash
# local (mặc định) - Chỉ tìm kiếm trong thư mục hiện tại
fnm env --version-file-strategy=local
# recursive - Tìm kiếm đệ quy các thư mục cha
fnm env --version-file-strategy=recursiveHỗ Trợ engines Của package.json
fnm có thể đọc trường engines.node từ package.json:
json
{
"engines": {
"node": ">=18.0.0"
}
}Được bật theo mặc định, có thể được tắt thông qua biến môi trường:
bash
export FNM_RESOLVE_ENGINES=falsePhương Pháp Tốt Nhất Về Quản Lý Phiên Bản
1. Khóa Phiên Bản Ở Cấp Dự Án
Tạo tệp .node-version trong mỗi dự án:
bash
cd my-project
echo "20" > .node-version
fnm install
fnm use2. Cộng Tác Nhóm
Thêm .node-version vào Git:
bash
git add .node-version
git commit -m "chore: add .node-version"3. Cấu Hình CI/CD
Sử dụng fnm trong môi trường CI/CD:
yaml
# GitHub Actions
- name: Install fnm
run: curl -fsSL https://fnm.vercel.app/install | bash
- name: Install Node.js
run: fnm install && fnm use4. Phát Triển Đa Phiên Bản
bash
# Cài đặt nhiều phiên bản
fnm install 20
fnm install 18
fnm install 16
# Đặt alias để dễ dàng chuyển đổi
fnm alias 20 current
fnm alias 18 legacy
fnm alias 16 old
# Sử dụng các phiên bản khác nhau trong các dự án khác nhau
cd project-new && fnm use current
cd project-old && fnm use legacyGỡ Cài Đặt Phiên Bản
bash
# Gỡ cài đặt phiên bản cụ thể
fnm uninstall 16.20.2
# Gỡ cài đặt qua alias (sẽ xóa phiên bản và tất cả alias liên quan)
fnm uninstall oldVấn Đề Thường Gặp
Lệnh node Không Cập Nhật Sau Khi Chuyển Đổi Phiên Bản
Đảm bảo cấu hình Shell đúng:
bash
# Kiểm tra đường dẫn node
which node
# Nên trỏ đến thư mục fnm
# ~/.fnm/node-versions/.../bin/nodeTự Động Chuyển Đổi Không Hoạt Động
- Xác nhận
--use-on-cdđược thêm vào cấu hình Shell - Xác nhận tệp phiên bản tồn tại
- Tải lại cấu hình Shell
Ưu Tiên Tệp Phiên Bản
fnm tìm kiếm các phiên bản theo thứ tự sau:
- Phiên bản được chỉ định trên dòng lệnh
- Tệp
.node-version - Tệp
.nvmrc package.jsonengines.node- Phiên bản mặc định
Liên Kết Liên Quan
- Cài Đặt Node.js - Hướng dẫn cài đặt
- Tham Khảo Lệnh - Tất cả chi tiết lệnh
- Quản Lý Tải Xuống - Các tính năng liên quan đến tải xuống