Skip to content

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

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)

nvm ls

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.

  1. .nvmrc dosyasını oluşturun:
bash
$ echo "16.14.0" > .nvmrc
  1. 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üm
  • 16 - 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.0

Geç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.js

Mevcut 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.0

Yaygı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-nvmrc

En İyi Uygulamalar

  1. Her proje için .nvmrc dosyası oluşturun: Ekip üyelerinin aynı Node.js sürümünü kullandığından emin olun
  2. Düzenli olarak LTS sürümüne güncelleyin: LTS sürümleri daha kararlıdır ve üretim ortamları için uygundur
  3. Semantic versioning kullanın: Uyumluluk sorunlarını önlemek için .nvmrc dosyasında tam sürüm belirtin
  4. 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

ParametreAçıklama
<version>Kullanılacak Node.js sürümünü belirtir
nodeEn 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.

NVM - Windows, Linux ve macOS için Node Sürüm Yöneticisi