Pemecahan Masalah Node.js
Dokumen ini bertujuan untuk membantu developer yang menggunakan lingkungan pengembangan lokal ServBay dalam mengatasi beberapa masalah umum yang mungkin ditemui saat menggunakan paket Node.js.
Node.js/npm/pnpm/yarn Tidak Menemukan Versi atau Perintah
Ketika Anda menggunakan Node.js, npm, pnpm, atau yarn pada ServBay, jika Anda menemukan pesan error seperti di bawah ini, artinya sistem tidak dapat menemukan file eksekusi Node.js versi spesifik yang Anda coba pakai:
bash
Warning: Specified Node.js version '22' for 'node' not found.
If this is not your intention, please delete the 'NODE_VERSION' configuration
from the '.servbay.config' file in the current directory.
1
2
3
2
3
Hal ini biasanya terjadi karena versi Node.js spesifik yang Anda ingin pakai belum diinstal di ServBay, atau Anda ingin menggunakan Node.js yang terinstal melalui alat lain seperti nvm
atau homebrew
, namun karena masalah konfigurasi environment, ServBay tidak bisa menemukannya dengan benar.
Tips
Setelah menginstal ServBay, sistem akan mengatur Script Alias ServBay agar Node.js yang dipasang oleh ServBay menjadi prioritas utama. Jika versi yang Anda butuhkan tidak ditemukan di ServBay, sistem akan mencoba fallback ke versi default dari nvm
, lalu dari homebrew
. Jika tetap tidak ditemukan, barulah muncul error seperti di atas.
Analisis Penyebab:
- Versi Node.js yang ingin digunakan belum diinstal di aplikasi ServBay.
- Sistem telah terinstall
nvm
atauhomebrew
, dan Anda ingin menggunakan Node.js yang dikelola oleh alat tersebut, namun karena konfigurasi environment shell (khususnya variabelPATH
atauNVM_BIN
) tidak benar, mekanisme fallback ServBay tidak dapat menemukannya.
Solusi:
Jika Anda sudah menginstall Node.js melalui nvm
namun masih mendapatkan error ini, penyebab umum adalah variabel lingkungan NVM_BIN
belum diatur atau salah konfigurasinya di environment shell Anda. Ketika nvm
terinstal dengan benar, variabel ini otomatis di-setup—menunjukkan lokasi file eksekusi Node.js milik nvm
, yang sangat penting untuk operasi normal nvm
.
Cukup periksa dan perbaiki pengaturan terkait nvm
di file konfigurasi shell Anda (misalnya di ~/.zshrc
, ~/.bash_profile
, dsb.) Pastikan variabel NVM_BIN
sudah diset dan diexport dengan benar, lalu reload konfigurasi (misalnya jalankan source ~/.zshrc
atau restart terminal Anda). Setelah diperbaiki, mekanisme fallback ServBay seharusnya bisa menemukan Node.js yang dikelola nvm
dengan semestinya.
Jika Anda tidak menggunakan nvm
atau homebrew
, atau memang ingin menggunakan Node.js yang dikelola langsung lewat ServBay, pastikan versi Node.js yang Anda butuhkan sudah terinstal lewat antarmuka "Paket" pada aplikasi ServBay.
Error "Arsitektur Tidak Didukung" Saat Menggunakan Paket npm Seperti node-sass
Bagi pengguna macOS dengan chip Apple Silicon (M1/M2/M3/M4, arsitektur Arm64), ketika menjalankan paket npm lama atau paket yang mengandalkan module native (seperti node-sass
), Anda mungkin melihat error seperti Unsupported architecture (arm64)
. Penyebabnya adalah sebagian paket versi lama hanya menyediakan binary atau konfigurasi untuk arsitektur x86_64 saja.
bash
ERROR: Module Error (from ./node_modules/sass-loader/dist/cjs.js):
Node Sass does not yet support your current environment: OS X Unsupported architecture (arm64) with Node.js 14.x
For more information on which environments are supported
please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1
1
2
3
4
5
2
3
4
5
Analisis Penyebab:
Beberapa paket npm mengandung kode native seperti C++ yang perlu dikompilasi khusus untuk CPU arsitektur tertentu. Versi lama dari paket-paket ini sering kali tidak menyediakan build untuk Arm64 (Apple Silicon).
Solusi:
Ganti dengan paket modern yang sudah mendukung Arm64 (Disarankan):
Solusi terbaik adalah mengganti paket lama yang sudah tidak mendapat perawatan seperti
node-sass
dengan paket yang lebih modern dan masih aktif dimaintain, sepertisass
. Banyak proyek dan toolchain front-end modern juga sudah menggunakansass
.bashnpm uninstall node-sass npm install --save-dev sass
1
2Install Node.js arsitektur x86_64 di ServBay dan jalankan lewat Rosetta 2 (Tidak Disarankan):
ServBay memungkinkan instalasi Node.js dengan arsitektur
x86_64
. Pada Mac Apple Silicon, hal ini memungkinkan Anda menjalankan Node.js dan module native x86_64-nya lewat lapisan translasi Rosetta 2 dari macOS. Anda bisa memilih opsi ini di halaman "Paket" pada aplikasi ServBay.Catatan: Solusi ini sebaiknya hanya digunakan sementara karena menjalankan via Rosetta 2 dapat mengurangi performa dan kadang mengakibatkan masalah kompatibilitas dibanding environment Arm64 native. Prioritaskan solusi nomor 1.