Node.js Versiyon Yönetimi
fnm, birden fazla Node.js versiyonu arasında kolayca geçiş yapmanıza olanak tanıyan güçlü versiyon yönetimi özellikleri sağlar.
Temel İşlemler
Kurulu Versiyonları Görüntüleme
fnm listÇıktı örneği:
* v20.10.0 default
v18.19.0
v16.20.2*şu anda kullanılan versiyonu gösterirdefaultvarsayılan versiyonu gösterir
Mevcut Versiyonu Görüntüleme
fnm currentVersiyon Değiştirme
# Belirli bir versiyona geç
fnm use 20
# Belirli bir tam versiyona geç
fnm use 20.10.0
# Versiyon kurulu değilse, otomatik kur ve geç
fnm use 18 --install-if-missingVarsayılan Versiyon
Varsayılan Versiyon Ayarlama
fnm default 20Varsayılan versiyon:
- Yeni bir terminal oturumu başladığında kullanılan versiyon
- Versiyon dosyası olmadığında kullanılan versiyon
Varsayılan Versiyonu Görüntüleme
fnm defaultVersiyon Takma Adları
Takma adlar, versiyonlar için akılda kalıcı isimler ayarlamanıza olanak tanır.
Takma Ad Oluşturma
# Versiyon için takma ad ayarla
fnm alias 20 default
fnm alias 18 legacy
fnm alias 16 oldTakma Ad Kullanma
# Takma ad aracılığıyla versiyon değiştir
fnm use default
fnm use legacyTakma Ad Silme
fnm unalias legacyOtomatik Versiyon Değiştirme
fnm, proje dizinine göre Node.js versiyonlarını otomatik olarak değiştirebilir.
Otomatik Değiştirmeyi Etkinleştirme
Kabuk yapılandırmasına --use-on-cd ekleyin:
eval "$(fnm env --use-on-cd)"Versiyon Dosyası Oluşturma
Proje kök dizininde bir .node-version veya .nvmrc dosyası oluşturun:
# .node-version kullanma (önerilen)
echo "20" > .node-version
# Veya .nvmrc kullanma (nvm ile uyumlu)
echo "v18.17.0" > .nvmrcVersiyon Dosyası Formatı
.node-version aşağıdaki formatları destekler:
20 # Ana versiyon, en son 20.x.x kullan
20.10 # Alt versiyon, en son 20.10.x kullan
20.10.0 # Tam versiyon
lts/iron # LTS versiyon adıVersiyon Dosyası Ayrıştırma Stratejisi
fnm iki versiyon dosyası ayrıştırma stratejisini destekler:
# local (varsayılan) - Sadece mevcut dizinde ara
fnm env --version-file-strategy=local
# recursive - Üst dizinleri özyinelemeli olarak ara
fnm env --version-file-strategy=recursivepackage.json engines Desteği
fnm, package.json dosyasındaki engines.node alanını okuyabilir:
{
"engines": {
"node": ">=18.0.0"
}
}Varsayılan olarak etkindir, ortam değişkeni aracılığıyla devre dışı bırakılabilir:
export FNM_RESOLVE_ENGINES=falseVersiyon Yönetimi En İyi Uygulamaları
1. Proje Seviyesi Versiyon Kilitleme
Her projede bir .node-version dosyası oluşturun:
cd my-project
echo "20" > .node-version
fnm install
fnm use2. Ekip İş Birliği
.node-version dosyasını Git'e ekleyin:
git add .node-version
git commit -m "chore: add .node-version"3. CI/CD Yapılandırması
CI/CD ortamlarında fnm kullanın:
# GitHub Actions
- name: Install fnm
run: curl -fsSL https://fnm.vercel.app/install | bash
- name: Install Node.js
run: fnm install && fnm use4. Çoklu Versiyon Geliştirme
# Birden fazla versiyon kur
fnm install 20
fnm install 18
fnm install 16
# Kolay geçiş için takma adlar ayarla
fnm alias 20 current
fnm alias 18 legacy
fnm alias 16 old
# Farklı projelerde farklı versiyonlar kullan
cd project-new && fnm use current
cd project-old && fnm use legacyVersiyonları Kaldırma
# Belirli bir versiyonu kaldır
fnm uninstall 16.20.2
# Takma ad aracılığıyla kaldır (versiyonu ve ilgili tüm takma adları siler)
fnm uninstall oldYaygın Sorunlar
Versiyon Değiştirmeden Sonra node Komutu Güncellenmiyor
Kabuk yapılandırmasının doğru olduğundan emin olun:
# Node yolunu kontrol et
which node
# fnm dizinine işaret etmelidir
# ~/.fnm/node-versions/.../bin/nodeOtomatik Değiştirme Çalışmıyor
--use-on-cd'nin Kabuk yapılandırmasına eklendiğini doğrulayın- Versiyon dosyasının var olduğunu doğrulayın
- Kabuk yapılandırmasını yeniden yükleyin
Versiyon Dosyası Önceliği
fnm versiyonları aşağıdaki sırayla arar:
- Komut satırında belirtilen versiyon
.node-versiondosyası.nvmrcdosyasıpackage.jsonengines.node- Varsayılan versiyon
İlgili Bağlantılar
- Node.js Kurulumu - Kurulum rehberi
- Komut Referansı - Tüm komut ayrıntıları
- İndirme Yönetimi - İndirme ile ilgili özellikler