Untuk menemukan versi Node.js yang diharapkan sebuah proyek di Mac Anda, periksa file versi dan konfigurasinya sebelum memeriksa versi yang aktif di Terminal. Mulailah dengan .nvmrc, lalu periksa package.json untuk pengaturan volta dan engines. Petunjuk-petunjuk ini memiliki arti yang berbeda: beberapa menyematkan (pin) versi tertentu untuk sebuah alat, sementara yang lain menjelaskan rentang kompatibilitas.
1. Buka folder proyek di Terminal
Di Finder, cari folder proyek tersebut. Control-klik folder tersebut dan pilih Terminal Baru di Folder jika opsi tersebut tersedia; jika tidak, buka Terminal dan navigasikan ke folder tersebut menggunakan cd. Anda dapat menyeret folder dari Finder ke jendela Terminal setelah mengetik cd , lalu tekan Return. Cara ini menghindari kesalahan pengetikan jalur (path) yang mengandung spasi.
Jalankan perintah hanya-baca (read-only) berikut dari direktori proyek:
ls -a
grep -nE '"(engines|volta)"|"node"' package.json .nvmrc
ls -a menyertakan file tersembunyi seperti .nvmrc. grep menampilkan baris yang cocok dari file yang ada; jika salah satu file tidak ada, perintah tersebut mungkin menampilkan pesan kesalahan untuk file tersebut, yang bukan berarti proyek tersebut rusak. Untuk memeriksa file tertentu secara lebih lengkap, gunakan sed -n '1,160p' package.json atau sed -n '1,20p' .nvmrc jika file tersebut ada. Perintah-perintah ini hanya menampilkan teks; mereka tidak mengubah proyek.
2. Baca .nvmrc sebagai instruksi pengelola versi
Jika Anda menemukan .nvmrc, baca isinya. Nilai seperti 20.16.0 menandakan bahwa proyek tersebut menentukan versi Node.js tersebut untuk pengguna nvm. nvm juga menerima pemilih versi seperti 20 atau lts/*, sehingga file tersebut mungkin tidak menentukan satu rilis patch yang pasti. Dokumentasi nvm menyatakan bahwa perintahnya dapat menemukan .nvmrc di direktori proyek atau direktori induk, dan perintah nvm use tanpa menentukan versi akan menggunakan file tersebut jika tersedia. README nvm: .nvmrc
Di macOS, periksa apakah nvm tersedia dan versi apa yang diaktifkannya di direktori ini:
command -v nvm
nvm use
node --version
command -v nvm akan menampilkan nvm ketika nvm dimuat di shell saat ini. Jika perintah tersebut tidak tersedia, jangan menganggap .nvmrc tidak valid; file tersebut tetap dapat mendokumentasikan pilihan proyek meskipun Anda belum menginstal atau memuat nvm. nvm use memilih versi dalam file tersebut jika sudah terinstal; jika belum, nvm mungkin meminta Anda untuk menginstalnya. Jalankan instalasi hanya jika Anda memang bermaksud menambahkan versi Node tersebut ke Mac Anda.
3. Periksa package.json untuk Volta dan rentang kompatibilitas
Cari objek level teratas bernama volta. Sebagai contoh:
"volta": {
"node": "20.16.0"
}
Ini adalah penyematan (pin) versi Node untuk proyek yang dikelola oleh Volta. Dokumentasi Volta menjelaskan bahwa volta pin menyimpan versi alat yang dipilih di package.json, dan Volta akan meneruskan perintah Node ke versi proyek tersebut. Memahami Volta Jika Anda menggunakan Volta, menjalankan node --version dari direktori proyek dapat menunjukkan versi apa yang dijalankan oleh rantai alat (toolchain); tanpa Volta, objek tersebut hanya berupa metadata proyek, bukan perintah untuk Terminal macOS.
Periksa juga properti engines, yang umumnya ditulis seperti ini:
"engines": {
"node": ">=18 <23"
}
Ini memberikan rentang kompatibilitas, belum tentu versi yang diinstal oleh para pengembang. Dokumentasi npm menjelaskan engines.node sebagai penentu versi Node mana yang didukung oleh suatu paket; kecuali jika engine-strict diaktifkan, npm memperlakukannya sebagai saran dan mungkin hanya memberikan peringatan saat penginstalan dependensi. Dokumentasi package.json npm Rentang yang luas berarti proyek tersebut mengklaim kompatibilitas di seluruh versi yang diizinkan; ini tidak menetapkan satu versi pasti yang diharapkan.
4. Bandingkan file dan atasi petunjuk yang bertentangan
Anggap penyematan (pin) Volta atau isi .nvmrc yang tepat sebagai indikasi terkuat untuk versi tertentu yang dikelola alat. Anggap engines.node sebagai batasan kompatibilitas. Jika file-file tersebut tidak selaras—misalnya, .nvmrc menyatakan 18 tetapi engines.node memerlukan >=20—jangan langsung memilih salah satunya begitu saja. File-file tersebut mungkin sudah usang, ditujukan untuk alat yang berbeda, atau mencerminkan perubahan terbaru. Periksa README dan petunjuk pengaturan proyek, lalu tanyakan kepada pengelola atau tim file mana yang mereka harapkan untuk diikuti oleh kontributor.
Proyek juga dapat menentukan versi dalam file yang digunakan oleh pengelola versi lain atau dalam konfigurasi CI. Jika .nvmrc dan package.json tidak memberikan jawaban yang jelas, cari file proyek yang terlihat dengan ls -a dan periksa dokumentasi pengaturan serta konfigurasi alur kerja (workflow). File CI mungkin menunjukkan versi yang digunakan untuk build otomatis, tetapi versi tersebut bisa berbeda dari pengaturan lokal pengembang; pastikan konteksnya sebelum menganggapnya sebagai persyaratan proyek.
5. Verifikasi versi Node yang sebenarnya digunakan oleh Mac Anda
Setelah mengidentifikasi instruksi proyek, bandingkan dengan runtime yang sedang aktif:
node --version
command -v node
Perintah pertama melaporkan versi Node yang aktif; perintah kedua menunjukkan jalur file eksekusi yang dipilih melalui PATH shell Anda. Ini menggambarkan lingkungan Terminal Anda saat ini, bukan kebutuhan proyek itu sendiri. Jika menggunakan nvm, jalankan nvm use dari direktori proyek sebelum memeriksa. Jika menggunakan Volta, jalankan pemeriksaan dari direktori tersebut agar pengaturan proyeknya dapat diterapkan. Jika versi yang dilaporkan masih berbeda dari versi yang disematkan, pengelola versi yang bersangkutan mungkin belum terinstal, belum dimuat, atau tidak mengontrol file eksekusi node di shell ini.
Jawaban praktisnya diperoleh dengan memeriksa kedua sisi: deklarasi versi repositori memberi tahu Anda apa yang diminta, sementara node --version memberi tahu Anda apa yang saat ini dijalankan oleh Mac Anda. Jika keduanya tidak cocok, selesaikan masalah pengelola versi atau sesuaikan instruksi proyek sebelum mengandalkan hasil eksekusi lokal.
Sumber
nvm/README.md — nvm-sh
Memahami Volta — Volta