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
- Bir JavaScript komutu çalıştırdığınızda (ör.
node,npmveya bir paket ikili dosyası), Volta'nın shim'i komutu yakalar - Volta, sabitlenmiş araç sürümleri olan bir projede olup olmadığınızı görmek için mevcut dizininizi kontrol eder
- Öyleyseniz, Volta o projenin
package.jsondosyasındaki sabitlenmiş sürümleri kullanır - 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):
{
"volta": {
"node": "14.19.1",
"npm": "6.14.16"
}
}Proje B (~/projects/project-b/package.json):
{
"volta": {
"node": "16.14.2",
"npm": "8.5.0"
}
}İş akışınız şöyle görünebilir:
# 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:
- İkili dosya projenizin
node_modules/.bin/dizininde varsa, Volta o sürümü kullanır - Yoksa, ancak paket Volta aracılığıyla genel olarak kurulmuşsa, o sürümü kullanır
- 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.jsondosyasında birvoltabölümü olduğundan emin olun - Kurulu araçlarınızı kontrol etmek için
volta list allkomutunu ç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 nodekomutunu çalıştırın