Beralih Antar Proyek
Salah satu manfaat utama Volta adalah penanganannya yang mulus terhadap berbagai versi alat di seluruh proyek. Halaman ini menjelaskan bagaimana Volta secara otomatis mengelola lingkungan JavaScript Anda saat Anda berpindah antar proyek.
Pergantian Versi Otomatis
Tidak seperti manajer versi lainnya yang memerlukan Anda untuk beralih secara manual antar versi alat, Volta menangani ini secara otomatis berdasarkan direktori saat ini.
Cara Kerjanya
- Saat Anda menjalankan perintah JavaScript (seperti
node,npm, atau biner paket), shim Volta mencegat perintah tersebut - Volta memeriksa direktori saat ini untuk melihat apakah Anda berada dalam proyek dengan versi alat yang dipin
- Jika ya, Volta menggunakan versi yang dipin dari
package.jsonproyek tersebut - Jika Anda tidak berada dalam proyek dengan versi yang dipin, Volta menggunakan alat default Anda
Semua ini terjadi secara transparan tanpa perintah tambahan.
Contoh Alur Kerja
Bayangkan Anda memiliki dua proyek dengan persyaratan Node.js yang berbeda:
Proyek A (~/projects/project-a/package.json):
{
"volta": {
"node": "14.19.1",
"npm": "6.14.16"
}
}Proyek B (~/projects/project-b/package.json):
{
"volta": {
"node": "16.14.2",
"npm": "8.5.0"
}
}Alur kerja Anda mungkin terlihat seperti ini:
# Di Proyek A
cd ~/projects/project-a
node --version # Menampilkan v14.19.1
npm --version # Menampilkan v6.14.16
# Beralih ke Proyek B
cd ~/projects/project-b
node --version # Secara otomatis menampilkan v16.14.2
npm --version # Secara otomatis menampilkan v8.5.0
# Di luar proyek mana pun
cd ~
node --version # Menampilkan versi Node default AndaProyek Bersarang
Jika Anda memiliki proyek bersarang, Volta akan menggunakan versi alat dari package.json terdekat dengan bagian volta.
Misalnya:
/parent-project/package.json (memiliki bagian volta dengan node@14)
/parent-project/child-project/package.json (memiliki bagian volta dengan node@16)
/parent-project/other-directory/ (tidak ada package.json)Jika Anda menjalankan perintah di:
/parent-project/child-project/- Volta menggunakan Node.js 16/parent-project/other-directory/- Volta menggunakan Node.js 14/parent-project/- Volta menggunakan Node.js 14
Biner Paket
Pergantian otomatis Volta juga berlaku untuk biner paket. Misalnya, jika Anda memiliki versi TypeScript spesifik proyek dan menjalankan tsc, Volta memastikan bahwa versi yang benar digunakan.
Paket Global vs Lokal
Saat Anda menjalankan biner paket:
- Jika biner ada di
node_modules/.bin/proyek Anda, Volta menggunakan versi tersebut - Jika tidak, tetapi paket diinstal secara global melalui Volta, itu menggunakan versi tersebut
- Jika tidak, itu menampilkan kesalahan bahwa perintah tidak ditemukan
Pemecahan Masalah
Jika Anda mengalami masalah dengan pergantian versi:
- Verifikasi proyek Anda memiliki bagian
voltadipackage.json - Jalankan
volta list alluntuk memeriksa alat yang terinstal - Periksa bahwa alat yang Anda butuhkan إما dipin ke proyek Anda atau diinstal sebagai versi default
- Jalankan
volta which nodeuntuk melihat versi Node.js mana yang digunakan Volta dan mengapa