Manajemen Versi Node.js
fnm menyediakan fitur manajemen versi yang kuat, memungkinkan Anda untuk dengan mudah beralih di antara beberapa versi Node.js.
Operasi Dasar
Lihat Versi yang Terinstal
fnm listContoh output:
* v20.10.0 default
v18.19.0
v16.20.2*menunjukkan versi yang sedang digunakandefaultmenunjukkan versi default
Lihat Versi Saat Ini
fnm currentGanti Versi
# Ganti ke versi tertentu
fnm use 20
# Ganti ke versi spesifik yang tepat
fnm use 20.10.0
# Jika versi belum terinstal, otomatis instal lalu ganti
fnm use 18 --install-if-missingVersi Default
Tetapkan Versi Default
fnm default 20Versi default adalah:
- Versi yang digunakan saat sesi terminal baru dimulai
- Versi yang digunakan ketika tidak ada file versi
Lihat Versi Default
fnm defaultAlias Versi
Alias memungkinkan Anda menetapkan nama yang mudah diingat untuk versi.
Buat Alias
# Tetapkan alias untuk versi
fnm alias 20 default
fnm alias 18 legacy
fnm alias 16 oldGunakan Alias
# Ganti versi melalui alias
fnm use default
fnm use legacyHapus Alias
fnm unalias legacyPenggantian Versi Otomatis
fnm dapat secara otomatis mengganti versi Node.js berdasarkan direktori proyek.
Aktifkan Penggantian Otomatis
Tambahkan --use-on-cd ke konfigurasi Shell:
eval "$(fnm env --use-on-cd)"Buat File Versi
Buat file .node-version atau .nvmrc di root proyek:
# Menggunakan .node-version (direkomendasikan)
echo "20" > .node-version
# Atau menggunakan .nvmrc (kompatibel dengan nvm)
echo "v18.17.0" > .nvmrcFormat File Versi
.node-version mendukung format berikut:
20 # Versi mayor, gunakan 20.x.x terbaru
20.10 # Versi minor, gunakan 20.10.x terbaru
20.10.0 # Versi tepat
lts/iron # Nama versi LTSStrategi Penguraian File Versi
fnm mendukung dua strategi penguraian file versi:
# local (default) - Hanya cari di direktori saat ini
fnm env --version-file-strategy=local
# recursive - Cari secara rekursif di direktori induk
fnm env --version-file-strategy=recursiveDukungan engines package.json
fnm dapat membaca bidang engines.node dari package.json:
{
"engines": {
"node": ">=18.0.0"
}
}Diaktifkan secara default, dapat dinonaktifkan melalui variabel lingkungan:
export FNM_RESOLVE_ENGINES=falsePraktik Terbaik Manajemen Versi
1. Penguncian Versi Tingkat Proyek
Buat file .node-version di setiap proyek:
cd my-project
echo "20" > .node-version
fnm install
fnm use2. Kolaborasi Tim
Tambahkan .node-version ke Git:
git add .node-version
git commit -m "chore: tambahkan .node-version"3. Konfigurasi CI/CD
Gunakan fnm di lingkungan CI/CD:
# GitHub Actions
- name: Instal fnm
run: curl -fsSL https://fnm.vercel.app/install | bash
- name: Instal Node.js
run: fnm install && fnm use4. Pengembangan Multi-Versi
# Instal beberapa versi
fnm install 20
fnm install 18
fnm install 16
# Tetapkan alias untuk kemudahan penggantian
fnm alias 20 current
fnm alias 18 legacy
fnm alias 16 old
# Gunakan versi berbeda di proyek berbeda
cd project-new && fnm use current
cd project-old && fnm use legacyHapus Versi
# Hapus versi tertentu
fnm uninstall 16.20.2
# Hapus melalui alias (akan menghapus versi dan semua alias terkait)
fnm uninstall oldMasalah Umum
Perintah node Tidak Diperbarui Setelah Penggantian Versi
Pastikan konfigurasi Shell benar:
# Periksa path node
which node
# Harus mengarah ke direktori fnm
# ~/.fnm/node-versions/.../bin/nodePenggantian Otomatis Tidak Berfungsi
- Konfirmasi
--use-on-cdditambahkan ke konfigurasi Shell - Konfirmasi file versi ada
- Muat ulang konfigurasi Shell
Prioritas File Versi
fnm mencari versi dalam urutan berikut:
- Versi yang ditentukan di command line
- File
.node-version - File
.nvmrc package.jsonengines.node- Versi default
Tautan Terkait
- Instal Node.js - Panduan instalasi
- Referensi Perintah - Semua detail perintah
- Manajemen Unduhan - Fitur terkait unduhan