NVM ile Node Sürümü Değiştirme
Temel Kullanım
NVM, çeşitli Node.js sürümleri arasında geçiş yapmak için basit ancak güçlü komutlar sağlar. En temel komut, kurulu bir Node.js sürümünü etkinleştirmenize olanak tanıyan nvm use komutudur.
Mevcut Node Sürümlerini Görüntüleme
Geçiş yapmadan önce, hangi Node.js sürümlerinin kurulu olduğunu görmek için nvm ls komutunu kullanabilirsiniz.
bash
nvm ls
Sürüm Değiştirmenin Farklı Yolları
Tam Sürüm Numarası Kullanma
Tam sürüm numarasını belirtebilirsiniz:
Örneğin, Node.js v24.0.2 kullanmak için:
bash
$ nvm use 24.0.2
Now using node v24.0.2 (64-bit)
Ana Sürüm Numarası Kullanma
Sadece ana sürüm numarasını belirtin ve NVM, o ana sürümün kurulu en yeni sürümünü kullanacaktır:
bash
$ nvm use 14
Using node v14.17.6 (npm v6.14.15)Takma Ad Kullanma
NVM'nin birkaç yerleşik özel takma adı vardır:
bash
# En son kararlı sürümü kullan
$ nvm use node
Now using node v16.14.0 (npm v8.3.1)
# En son LTS sürümünü kullan
$ nvm use lts/*
Now using node v16.13.2 (npm v8.1.2)
# Belirli bir LTS sürümünü kullan
$ nvm use lts/gallium
Now using node v16.13.2 (npm v8.1.2)Mimari Belirtme (Sadece Windows)
Windows sistemlerde, 32-bit veya 64-bit sürüm kullanıp kullanmayacağınızı belirtebilirsiniz:
bash
$ nvm use 14.17.0 32
$ nvm use 16.14.0 64.nvmrc Dosyası ile Otomatik Sürüm Değiştirme
Projenizin kök dizininde içeriği Node.js sürüm numarası olan .nvmrc adında bir dosya oluşturun. Ardından sadece nvm use komutunu (argüman olmadan) çalıştırın ve NVM, .nvmrc dosyasından sürümü okuyup otomatik olarak o sürüme geçecektir.
.nvmrcdosyasını oluşturun:
bash
$ echo "16.14.0" > .nvmrc- Proje dizininde çalıştırın:
bash
$ nvm use
Found '/path/to/project/.nvmrc' with version <16.14.0>
Now using node v16.14.0 (npm v8.3.1).nvmrc dosyası içeriği örnekleri:
16.14.0- Tam sürüm16- Ana sürümün en yeni sürümülts/*- En yeni LTS sürümünode- En yeni Node.js sürümü
Varsayılan Node.js Sürümünü Ayarlama
Her yeni terminal açtığınızda otomatik olarak kullanılacak varsayılan Node.js sürümünü ayarlayabilirsiniz:
bash
$ nvm alias default 16.14.0
default -> 16.14.0 (-> v16.14.0)Bu şekilde, nvm use komutunu çalıştırmasanız bile, belirtilen sürüm varsayılan olarak kullanılacaktır.
Sürüm Değiştirirken Dikkat Edilmesi Gerekenler
Global Paket Yönetimi
Node.js sürümünü değiştirdiğinizde, global olarak kurulu paketler otomatik olarak taşınmaz. Her Node.js sürümünün kendi ayrı global paket seti vardır.
Bir sürümden diğerine tüm global paketleri kopyalamak istiyorsanız şunu kullanabilirsiniz:
bash
# Global paketleri v14.17.0'dan v16.14.0'a kopyala
$ nvm install 16.14.0 --reinstall-packages-from=14.17.0Geçici Olarak Başka Bir Sürüm Kullanma
Mevcut oturum sürümünü değiştirmeden farklı bir Node.js sürümüyle komut çalıştırmak istiyorsanız nvm run kullanabilirsiniz:
bash
$ nvm run 14.17.0 app.jsMevcut Sürümü Kontrol Etme
Şu anda hangi Node.js sürümünün kullanıldığını kontrol etmek için:
bash
$ nvm current
v16.14.0Yaygın Sorunlar ve Çözümler
Sürüm Değiştirdikten Sonra Ortam Değişkenleri Kaybolması
Sorun: Sürüm değiştirdikten sonra, önceden ayarlanmış NODE_PATH gibi ortam değişkenleri kaybolabilir. Çözüm: Ortam değişkeni ayarlarını .bashrc veya .zshrc dosyanıza ekleyin.
Otomatik Sürüm Değiştirme
Proje dizinine girdiğinizde .nvmrc dosyasında belirtilen Node.js sürümüne otomatik olarak geçmek istiyorsanız, .bashrc veya .zshrc dosyanıza şunu ekleyebilirsiniz:
Bash için:
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'Zsh için:
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-nvmrcEn İyi Uygulamalar
- Her proje için
.nvmrcdosyası oluşturun: Ekip üyelerinin aynı Node.js sürümünü kullandığından emin olun - Düzenli olarak LTS sürümüne güncelleyin: LTS sürümleri daha kararlıdır ve üretim ortamları için uygundur
- Semantic versioning kullanın: Uyumluluk sorunlarını önlemek için
.nvmrcdosyasında tam sürüm belirtin - Uygun varsayılan sürümü ayarlayın: Günlük geliştirme için varsayılan Node.js sürümünü ayarlayın
nvm use Komut Parametreleri
| Parametre | Açıklama |
|---|---|
<version> | Kullanılacak Node.js sürümünü belirtir |
node | En yeni Node.js sürümünü kullanır |
lts/* | En yeni uzun vadeli destek sürümünü kullanır |
lts/<name> | Belirli bir uzun vadeli destek sürümünü kullanır |
<version> <architecture> | (Sadece Windows) 32 veya 64-bit sürüm kullanıp kullanmayacağını belirtir |
Bu yöntemlerle, farklı proje geliştirme ihtiyaçlarını karşılamak için çeşitli Node.js sürümleri arasında kolayca geçiş yapabilirsiniz.