NODE.JS RUNTIME-MANAGEMENT DEVELOPER-EXPERIENCE TOOLING DEVOPS WORKFLOW PRODUCTIVITY VERSION-MANAGEMENT ASDF NVM VOLTA MULTI-LANGUAGE ENVIRONMENT-MANAGEMENT BEST-PRACTICES

Mengelola Versi Runtime Lokal: Panduan Praktis dengan nvm, Volta, dan asdf untuk Developer Modern

⏱️ 12 menit baca
👨‍💻

Mengelola Versi Runtime Lokal: Panduan Praktis dengan nvm, Volta, dan asdf untuk Developer Modern

Sebagai seorang developer, terutama di ekosistem web, kita seringkali dihadapkan pada situasi di mana berbagai proyek membutuhkan versi runtime yang berbeda. Mungkin proyek lama Anda masih berjalan di Node.js 16, sementara proyek baru menggunakan Node.js 20. Belum lagi jika Anda juga bekerja dengan bahasa lain seperti Python, Go, atau Ruby. Mengelola semua ini bisa jadi mimpi buruk!

Jika Anda pernah mengalami “dependency hell” atau bingung bagaimana beralih antar versi Node.js tanpa merusak instalasi global, artikel ini untuk Anda. Kita akan membahas mengapa manajemen versi runtime ini penting dan bagaimana tiga tool populer—nvm, Volta, dan asdf—dapat menjadi penyelamat produktivitas Anda.

1. Pendahuluan: Kenapa Pusing dengan Versi Runtime?

Bayangkan skenario ini: Anda sedang mengerjakan proyek frontend dengan React yang membutuhkan Node.js versi 18. Lalu, ada tugas mendesak untuk memperbaiki bug di aplikasi Express.js lama yang hanya kompatibel dengan Node.js 14. Setelah itu, Anda ingin mencoba framework baru yang memerlukan Node.js versi terbaru, katakanlah 20.

Jika Anda hanya menginstal Node.js secara global di sistem operasi Anda, setiap kali Anda beralih proyek, Anda harus:

  1. Uninstall versi Node.js yang ada.
  2. Instal versi Node.js yang dibutuhkan proyek baru.
  3. Instal ulang semua package global yang relevan (npm, yarn, pnpm, dll.).
  4. Berdoa agar tidak ada konflik dan semuanya berjalan lancar.

❌ Ini jelas bukan alur kerja yang efisien atau menyenangkan!

Inilah mengapa manajer versi runtime menjadi penting:

Mari kita selami tool-tool yang bisa membantu Anda mencapai semua ini.

2. nvm: Si Veteran Khusus Node.js

nvm (Node Version Manager) adalah salah satu tool paling populer dan teruji untuk mengelola beberapa versi Node.js di satu mesin. Jika Anda hanya fokus pada ekosistem JavaScript/Node.js, nvm adalah pilihan yang sangat solid.

Cara Kerja nvm

nvm bekerja dengan menginstal Node.js di direktori terpisah di dalam home directory Anda (~/.nvm). Saat Anda menggunakan perintah nvm use, nvm akan memodifikasi variabel lingkungan PATH di shell Anda untuk menunjuk ke direktasi versi Node.js yang Anda pilih.

Pemasangan (Singkat)

Untuk menginstal nvm, Anda biasanya bisa menjalankan script instalasi dari GitHub:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

Setelah instalasi, restart terminal Anda atau jalankan source ~/.bashrc (atau file konfigurasi shell Anda) agar nvm dapat digunakan.

Perintah Penting nvm

PerintahDeskripsiContoh
nvm install <version>Menginstal versi Node.js tertentu.nvm install 18 atau nvm install node (terbaru)
nvm use <version>Menggunakan versi Node.js tertentu di sesi shell saat ini.nvm use 18
nvm alias default <version>Mengatur versi Node.js default saat terminal baru dibuka.nvm alias default 20
nvm lsMenampilkan daftar semua versi Node.js yang terinstal.nvm ls
nvm uninstall <version>Menghapus versi Node.js yang terinstal.nvm uninstall 14

📌 Tips Praktis: .nvmrc Untuk memastikan semua orang di tim menggunakan versi Node.js yang sama, Anda bisa membuat file .nvmrc di root proyek Anda. Cukup isi dengan nomor versi Node.js yang diinginkan:

# .nvmrc
18.18.0

Kemudian, di terminal root proyek, cukup jalankan:

nvm use

nvm akan otomatis membaca .nvmrc dan beralih ke versi yang ditentukan. Jika versi belum terinstal, nvm akan menanyakan apakah Anda ingin menginstalnya.

Kelebihan nvm:

Kekurangan nvm:

3. Volta: Modern dan Fokus pada Developer Experience

Volta adalah manajer versi runtime yang lebih baru, dirancang untuk memberikan developer experience (DX) yang lebih baik, terutama di ekosistem JavaScript. Volta tidak hanya mengelola versi Node.js, tetapi juga secara otomatis mengelola versi Yarn dan npm.

Cara Kerja Volta

Volta menginstal Node.js dan package manager biner di lokasi yang dikelola Volta. Keunggulan utamanya adalah kemampuannya untuk “mem-pin” versi Node.js, Yarn, atau npm ke proyek tertentu. Ini berarti Anda tidak perlu lagi menjalankan volta use atau nvm use secara manual; Volta akan otomatis beralih versi saat Anda masuk ke direktori proyek.

Pemasangan (Singkat)

Untuk menginstal Volta di macOS/Linux:

curl https://get.volta.sh | bash

Di Windows, Anda bisa menggunakan installer MSI dari website Volta.

Perintah Penting Volta

PerintahDeskripsiContoh
volta install <tool>@<version>Menginstal versi tool (node, yarn, npm) tertentu.volta install node@18 atau volta install yarn@1.22.19
volta pin <tool>@<version>Mengatur versi tool untuk proyek saat ini (menulis ke package.json).volta pin node@20
volta listMenampilkan tool yang terinstal dan versi default.volta list
volta uninstall <tool>@<version>Menghapus versi tool tertentu.volta uninstall node@14

💡 Tips Praktis: Pinning ke package.json Saat Anda menjalankan volta pin node@18, Volta akan menambahkan entri ke package.json proyek Anda, seperti ini:

{
  "name": "my-project",
  "version": "1.0.0",
  "volta": {
    "node": "18.18.0",
    "npm": "9.8.1",
    "yarn": "1.22.19"
  },
  "dependencies": {
    // ...
  }
}

Ini sangat powerful karena file package.json sudah menjadi bagian dari version control Anda. Siapa pun yang meng-clone proyek dan memiliki Volta terinstal akan otomatis menggunakan versi Node.js, npm, dan Yarn yang benar saat mereka masuk ke direktori proyek tersebut.

Kelebihan Volta:

Kekurangan Volta:

4. asdf: Swiss Army Knife untuk Multi-Runtime

Jika Anda adalah developer fullstack atau polyglot yang bekerja dengan banyak bahasa (Node.js, Python, Ruby, Go, Java, dll.), asdf adalah pilihan yang sangat kuat. asdf adalah manajer versi runtime yang bersifat general-purpose dan ekstensibel melalui sistem plugin.

Cara Kerja asdf

asdf sendiri adalah core tool yang tidak tahu bagaimana menginstal bahasa apa pun. Ia bergantung pada sistem plugin. Setiap bahasa atau runtime yang ingin Anda kelola memiliki plugin terpisah. Misalnya, ada plugin asdf-nodejs, asdf-python, asdf-golang, dll.

Ketika Anda menginstal plugin untuk Node.js, asdf akan tahu cara menginstal berbagai versi Node.js. Sama seperti nvm dan Volta, asdf juga memodifikasi PATH di shell Anda dan dapat “mem-pin” versi per proyek menggunakan file .tool-versions.

Pemasangan (Singkat)

Untuk menginstal asdf di macOS/Linux:

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0
echo ". \$HOME/.asdf/asdf.sh" >> ~/.bashrc # atau ~/.zshrc, dll.

Setelah instalasi, restart terminal Anda.

Perintah Penting asdf

Konsep utama asdf adalah plugins. Pertama, Anda harus menambahkan plugin untuk setiap runtime yang ingin Anda kelola.

  1. Menambahkan Plugin:

    asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
    asdf plugin add python https://github.com/asdf-vm/asdf-python.git
    asdf plugin add golang https://github.com/asdf-vm/asdf-golang.git
  2. Menginstal Versi Runtime:

    asdf install nodejs 18.18.0
    asdf install python 3.10.12
    asdf install golang 1.21.0

    Anda bisa melihat versi yang tersedia dengan asdf list-all <plugin_name>.

  3. Mengatur Versi Global atau Lokal:

    • Global: Mengatur versi default untuk semua shell.
      asdf global nodejs 20.10.0
      asdf global python 3.11.0
    • Lokal: Mengatur versi untuk direktori proyek saat ini (membuat file .tool-versions).
      asdf local nodejs 18.18.0
      asdf local python 3.10.12
      Ini akan membuat file .tool-versions di root proyek Anda:
      # .tool-versions
      nodejs 18.18.0
      python 3.10.12
      Ketika Anda masuk ke direktori ini, asdf akan otomatis menggunakan versi yang ditentukan.
  4. Menampilkan Versi yang Terinstal:

    asdf list

    Atau spesifik: asdf list nodejs.

Kelebihan asdf:

Kekurangan asdf:

Kesimpulan: Pilih yang Sesuai Kebutuhan Anda

Mengelola versi runtime lokal adalah salah satu fondasi penting untuk developer yang produktif dan tim yang solid. Dengan tool seperti nvm, Volta, atau asdf, Anda bisa mengucapkan selamat tinggal pada masalah konflik versi dan fokus pada apa yang paling penting: menulis kode.

🎯 Pilih tool yang tepat berdasarkan kebutuhan Anda:

Mulai hari ini, pilih salah satu dari tool ini, instal, dan rasakan perbedaannya. Produktivitas Anda akan meningkat, dan Anda akan memiliki lebih banyak waktu untuk membangun aplikasi yang luar biasa!

🔗 Baca Juga