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