Beralih Versi Node dengan NVM
Penggunaan Dasar
NVM menyediakan perintah yang sederhana namun kuat untuk beralih di antara berbagai versi Node.js. Perintah paling dasar adalah nvm use, yang memungkinkan Anda mengaktifkan versi Node.js yang terinstal.
Melihat Versi Node yang Tersedia
Sebelum beralih, Anda dapat menggunakan perintah nvm ls untuk melihat versi Node.js mana yang terinstal.
bash
nvm ls
Berbagai Cara untuk Beralih Versi
Menggunakan Nomor Versi Lengkap
Anda dapat menentukan nomor versi lengkap:
Sebagai contoh, untuk menggunakan Node.js v24.0.2:
bash
$ nvm use 24.0.2
Now using node v24.0.2 (64-bit)
Menggunakan Nomor Versi Mayor
Cukup tentukan nomor versi mayor, dan NVM akan menggunakan versi terinstal terbaru dari versi mayor tersebut:
bash
$ nvm use 14
Using node v14.17.6 (npm v6.14.15)Menggunakan Alias
NVM memiliki beberapa alias khusus bawaan:
bash
# Gunakan versi stabil terbaru
$ nvm use node
Now using node v16.14.0 (npm v8.3.1)
# Gunakan versi LTS terbaru
$ nvm use lts/*
Now using node v16.13.2 (npm v8.1.2)
# Gunakan versi LTS tertentu
$ nvm use lts/gallium
Now using node v16.13.2 (npm v8.1.2)Menentukan Arsitektur (Hanya Windows)
Di sistem Windows, Anda dapat menentukan apakah akan menggunakan versi 32-bit atau 64-bit:
bash
$ nvm use 14.17.0 32
$ nvm use 16.14.0 64Beralih Versi Otomatis dengan File .nvmrc
Buat file bernama .nvmrc di direktori root proyek Anda dengan nomor versi Node.js sebagai isinya. Kemudian, cukup jalankan perintah nvm use (tanpa argumen), dan NVM akan membaca versi dari file .nvmrc dan beralih ke versi tersebut secara otomatis.
- Buat file
.nvmrc:
bash
$ echo "16.14.0" > .nvmrc- Jalankan di direktori proyek:
bash
$ nvm use
Found '/path/to/project/.nvmrc' with version <16.14.0>
Now using node v16.14.0 (npm v8.3.1)Contoh isi file .nvmrc:
16.14.0- Versi tepat16- Versi terbaru dari versi mayorlts/*- Versi LTS terbarunode- Versi Node.js terbaru
Menetapkan Versi Node.js Default
Anda dapat menetapkan versi Node.js default yang akan secara otomatis digunakan setiap kali Anda membuka terminal baru:
bash
$ nvm alias default 16.14.0
default -> 16.14.0 (-> v16.14.0)Dengan cara ini, bahkan jika Anda tidak menjalankan perintah nvm use, versi yang ditentukan akan digunakan secara default.
Pertimbangan Saat Beralih Versi
Manajemen Paket Global
Saat beralih versi Node.js, paket yang diinstal secara global tidak secara otomatis bermigrasi. Setiap versi Node.js memiliki set paket globalnya sendiri yang terpisah.
Jika Anda ingin menyalin semua paket global dari satu versi ke versi lain, Anda dapat menggunakan:
bash
# Salin paket global dari v14.17.0 ke v16.14.0
$ nvm install 16.14.0 --reinstall-packages-from=14.17.0Menggunakan Versi Lain Sementara
Jika Anda hanya ingin menjalankan perintah dengan versi Node.js yang berbeda tanpa beralih versi sesi saat ini, Anda dapat menggunakan nvm run:
bash
$ nvm run 14.17.0 app.jsMemeriksa Versi Saat Ini
Untuk memeriksa versi Node.js mana yang saat ini digunakan:
bash
$ nvm current
v16.14.0Masalah Umum dan Solusi
Variabel Lingkungan Hilang Setelah Beralih
Masalah: Setelah beralih versi, variabel lingkungan yang sebelumnya diatur seperti NODE_PATH mungkin hilang. Solusi: Tambahkan pengaturan variabel lingkungan ke file .bashrc atau .zshrc Anda.
Beralih Versi Otomatis
Jika Anda ingin secara otomatis beralih ke versi Node.js yang ditentukan dalam file .nvmrc saat memasuki direktori proyek, Anda dapat menambahkan berikut ke .bashrc atau .zshrc Anda:
Untuk Bash:
bash
cdnvm() {
command cd "$@" || return $?
nvm_path="$(nvm_find_up .nvmrc | tr -d '\n')"
if [ -e "$nvm_path/.nvmrc" ]; then
declare default_version;
default_version="$(nvm version default)"
declare nvmrc_version;
nvmrc_version="$(nvm version "$(cat "$nvm_path/.nvmrc")")"
if [ "$nvmrc_version" = "N/A" ]; then
echo "Warning: $(cat "$nvm_path/.nvmrc") version not installed"
elif [ "$nvmrc_version" != "$default_version" ]; then
nvm use > /dev/null
fi
fi
}
alias cd='cdnvm'Untuk Zsh:
bash
autoload -U add-zsh-hook
load-nvmrc() {
local nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
nvm use
fi
elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrcPraktik Terbaik
- Buat file
.nvmrcuntuk setiap proyek: Memastikan anggota tim menggunakan versi Node.js yang sama - Secara teratur memperbarui ke versi LTS: Versi LTS lebih stabil dan cocok untuk lingkungan produksi
- Gunakan semantic versioning: Tentukan versi tepat dalam file
.nvmrcuntuk menghindari masalah kompatibilitas - Tetapkan versi default yang sesuai: Tetapkan versi Node.js default untuk pengembangan sehari-hari
Parameter Perintah nvm use
| Parameter | Deskripsi |
|---|---|
<version> | Menentukan versi Node.js yang akan digunakan |
node | Menggunakan versi terbaru Node.js |
lts/* | Menggunakan versi dukungan jangka panjang terbaru |
lts/<name> | Menggunakan versi dukungan jangka panjang tertentu |
<version> <architecture> | (Hanya Windows) Menentukan apakah akan menggunakan versi 32 atau 64-bit |
Dengan metode ini, Anda dapat dengan mudah beralih di antara berbagai versi Node.js untuk memenuhi kebutuhan pengembangan proyek yang berbeda.