Skip to content

Projeler Arasında Geçiş

Volta'nın temel avantajlarından biri, projeler arasında farklı araç sürümlerini sorunsuz şekilde ele almasıdır. Bu sayfa, projeler arasında hareket ederken Volta'nın JavaScript ortamınızı nasıl otomatik olarak yönettiğini açıklar.

Otomatik Sürüm Değiştirme

Araç sürümleri arasında manuel olarak geçiş yapmanızı gerektiren diğer sürüm yöneticilerinin aksine, Volta bunu mevcut dizininize dayanarak otomatik olarak ele alır.

Nasıl Çalışır

  1. Bir JavaScript komutu çalıştırdığınızda (ör. node, npm veya bir paket ikili dosyası), Volta'nın shim'i komutu yakalar
  2. Volta, sabitlenmiş araç sürümleri olan bir projede olup olmadığınızı görmek için mevcut dizininizi kontrol eder
  3. Öyleyseniz, Volta o projenin package.json dosyasındaki sabitlenmiş sürümleri kullanır
  4. Sabitlenmiş sürümleri olan bir projede değilseniz, Volta varsayılan araçlarınızı kullanır

Bunun tümü, herhangi bir ek komut olmadan şeffaf bir şekilde gerçekleşir.

Örnek İş Akışı

Farklı Node.js gereksinimlerine sahip iki projeniz olduğunu hayal edin:

Proje A (~/projects/project-a/package.json):

json
{
  "volta": {
    "node": "14.19.1",
    "npm": "6.14.16"
  }
}

Proje B (~/projects/project-b/package.json):

json
{
  "volta": {
    "node": "16.14.2",
    "npm": "8.5.0"
  }
}

İş akışınız şöyle görünebilir:

bash
# Proje A'da
cd ~/projects/project-a
node --version  # v14.19.1 gösterir
npm --version   # v6.14.16 gösterir

# Proje B'ye geçiş
cd ~/projects/project-b
node --version  # Otomatik olarak v16.14.2 gösterir
npm --version   # Otomatik olarak v8.5.0 gösterir

# Herhangi bir projenin dışında
cd ~
node --version  # Varsayılan Node sürümünüzü gösterir

İç İçe Projeler

İç içe projeleriniz varsa, Volta bir volta bölümüne sahip en yakın package.json dosyasındaki araç sürümlerini kullanacaktır.

Örneğin:

/parent-project/package.json (node@14 ile volta bölümü var)
/parent-project/child-project/package.json (node@16 ile volta bölümü var)
/parent-project/other-directory/ (package.json yok)

Şu konumlarda komut çalıştırırsanız:

  • /parent-project/child-project/ - Volta Node.js 16 kullanır
  • /parent-project/other-directory/ - Volta Node.js 14 kullanır
  • /parent-project/ - Volta Node.js 14 kullanır

Paket İkili Dosyaları

Volta'nın otomatik değiştirmesi paket ikili dosyaları için de geçerlidir. Örneğin, TypeScript'in projeye özel bir sürümüne sahipseniz ve tsc çalıştırırsanız, Volta doğru sürümün kullanıldığından emin olur.

Genel ile Yerel Paketler

Bir paket ikili dosyasını çalıştırdığınızda:

  1. İkili dosya projenizin node_modules/.bin/ dizininde varsa, Volta o sürümü kullanır
  2. Yoksa, ancak paket Volta aracılığıyla genel olarak kurulmuşsa, o sürümü kullanır
  3. Aksi takdirde, komutun bulunamadığına dair bir hata gösterir

Sorun Giderme

Sürüm değiştirme ile ilgili sorunlar yaşıyorsanız:

  • Projenizin package.json dosyasında bir volta bölümü olduğundan emin olun
  • Kurulu araçlarınızı kontrol etmek için volta list all komutunu çalıştırın
  • İhtiyaç duyduğunuz araçların ya projenize sabitlendiğini ya da varsayılan sürümler olarak kurulduğunu kontrol edin
  • Volta'nın hangi Node.js sürümünü ve neden kullandığını görmek için volta which node komutunu çalıştırın

Released under the BSD 2-Clause License.