15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai
18.10.2024

Cara Menginstal Node.js: Panduan Teknis Lengkap untuk Semua Platform

Node.js adalah runtime JavaScript open-source dan lintas platform yang dibangun di atas mesin V8 Chrome yang mengeksekusi kode JavaScript di luar lingkungan browser. Model I/O non-blocking berbasis event-driven menjadikannya pilihan utama untuk membangun API berkapasitas tinggi, aplikasi real-time, microservices, dan tooling sisi server. Menginstal Node.js dengan benar — menggunakan metode yang tepat untuk OS dan alur kerja Anda — adalah fondasi dari lingkungan pengembangan yang stabil dan dapat direproduksi.

Panduan ini mencakup setiap jalur instalasi utama: installer resmi, package manager bawaan OS, distribusi biner NodeSource, dan nvm (Node Version Manager). Panduan ini juga membahas manajemen versi, kebersihan paket global, dan pertimbangan server produksi yang sebagian besar tutorial lewatkan sepenuhnya.

Memilih Metode Instalasi yang Tepat

Sebelum menjalankan satu perintah pun, pahami apa yang sebenarnya diberikan oleh setiap metode — karena pilihan yang salah menciptakan masalah operasional nyata di kemudian hari.

MetodeTerbaik UntukFleksibilitas VersiRoot DiperlukanCatatan
Installer `.pkg` / `.msi` resmiPengaturan lokal cepat, pemulaSatu versi sajaYaMengotori PATH sistem; sulit untuk beralih versi
Package manager OS (`apt`, `brew`, `yum`)Instalasi sistem-lebar, server CITerbatasYaSering mengirimkan versi yang sudah usang
Repositori biner NodeSourceServer Linux, penentuan LTS yang dapat diprediksiPer-instalasiYaDikelola oleh NodeSource; baik untuk produksi
`nvm` (Node Version Manager)Pengembangan multi-proyekPenuh, per-shellTidakStandar emas untuk workstation pengembang
`fnm` (Fast Node Manager)Pipeline CI yang sensitif terhadap performaPenuhTidakBerbasis Rust, jauh lebih cepat dari nvm
Docker / container imageBuild yang terisolasi dan dapat direproduksiPenuh, per-containerBergantungTerbaik untuk microservices dan CI/CD

Aturan keputusan utama: Pada workstation pengembang, selalu gunakan nvm atau fnm. Pada server Linux produksi, gunakan repositori NodeSource atau container image. Jangan pernah menggunakan paket Node.js dari package manager bawaan OS di Ubuntu/Debian — secara rutin mengirimkan versi yang bertahun-tahun di belakang LTS saat ini.

Menginstal Node.js di Linux

Linux adalah tempat sebagian besar beban kerja produksi Node.js sebenarnya berjalan. Melakukan ini dengan benar lebih penting di sini daripada di tempat lain mana pun. Jika Anda melakukan deployment ke lingkungan VPS Hosting, metode berikut berlaku langsung untuk server jarak jauh Anda.

Metode 1: Distribusi Biner NodeSource (Direkomendasikan untuk Server)

NodeSource memelihara paket .deb dan .rpm yang ditandatangani dan selalu diperbarui yang melacak jalur rilis LTS dan Current Node.js secara tepat. Ini adalah pendekatan paling andal untuk server Linux produksi.

Ubuntu / Debian:

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

Fedora / CentOS / RHEL / Rocky Linux:

curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
sudo yum install -y nodejs

Setelah instalasi, verifikasi runtime dan package manager yang disertakan:

node -v
npm -v

Jebakan kritis: Pola curl | bash mengeksekusi skrip jarak jauh sebagai root. Di lingkungan yang sensitif terhadap keamanan, unduh skrip terlebih dahulu, periksa, lalu eksekusi:

curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh
less nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt-get install -y nodejs

Metode 2: nvm — Node Version Manager (Direkomendasikan untuk Pengembang)

nvm menginstal Node.js sepenuhnya di direktori home Anda (~/.nvm), tidak memerlukan sudo, dan memungkinkan Anda beralih versi per proyek atau per sesi shell. Ini adalah alat yang tepat untuk workstation atau server multi-tenant mana pun di mana aplikasi yang berbeda memerlukan versi Node.js yang berbeda.

Instal nvm:

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

Installer menambahkan inisialisasi shell yang diperlukan ke ~/.bashrc, ~/.zshrc, atau ~/.profile. Muat ulang shell Anda:

source ~/.bashrc

Instal rilis LTS terbaru:

nvm install --lts

Instal versi tertentu berdasarkan nomor:

nvm install 20.14.0

Beralih antara versi yang terinstal:

nvm use 18
nvm use 20

Tetapkan default persisten untuk sesi shell baru:

nvm alias default 20

Daftar semua versi yang terinstal secara lokal:

nvm ls

Verifikasi versi aktif:

node -v
npm -v

Kasus khusus — file .nvmrc: Tempatkan file .nvmrc di root proyek Anda yang hanya berisi string versi (misalnya, 20.14.0). Menjalankan nvm use di dalam direktori tersebut secara otomatis memilih versi yang benar. Ini sangat penting untuk lingkungan tim di mana perbedaan versi menyebabkan bug yang tidak kentara.

echo "20.14.0" > .nvmrc
nvm use

Metode 3: Package Manager Sistem (Dapat Diterima untuk Tooling, Bukan Produksi)

Repositori apt atau dnf default mengirimkan versi Node.js yang sering sudah usang. Gunakan ini hanya untuk tooling yang tidak kritis:

sudo apt-get update
sudo apt-get install -y nodejs npm

Di Fedora / RHEL 9+:

sudo dnf install nodejs

Menginstal Node.js di macOS

Metode 1: Homebrew (Direkomendasikan)

Homebrew adalah package manager de facto untuk lingkungan pengembangan macOS. Jika Homebrew belum terinstal, ikuti instruksi di brew.sh.

brew install node

Untuk menginstal versi mayor tertentu (misalnya, Node.js 20 LTS):

brew install node@20
brew link --overwrite node@20

Verifikasi:

node -v
npm -v

Jebakan Homebrew: brew upgrade node akan meningkatkan ke versi terbaru, yang dapat merusak proyek yang terpaku pada rilis lama. Jika Anda mengelola beberapa proyek, gunakan nvm di macOS juga — alur kerjanya identik dengan Linux.

Metode 2: nvm di macOS

Perintah instalasi dan penggunaan nvm identik dengan Linux. Pengguna macOS dengan Zsh (default sejak Catalina) harus memastikan bahwa ~/.zshrc berisi blok inisialisasi nvm setelah instalasi:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"

Metode 3: Installer .pkg Resmi

Unduh installer .pkg dari nodejs.org, jalankan, dan ikuti wizard. Ini adalah jalur paling sederhana bagi pengguna yang membutuhkan satu versi Node.js dan tidak berencana untuk beralih. Setelah instalasi, buka Terminal dan konfirmasi:

node -v
npm -v

Menginstal Node.js di Windows

Metode 1: Installer .msi Resmi

Unduh installer Windows (.msi) dari nodejs.org. Pilih build LTS untuk pekerjaan yang berdekatan dengan produksi atau Current untuk bereksperimen dengan fitur terbaru. Installer mendaftarkan Node.js di PATH sistem secara otomatis.

Setelah instalasi, buka Command Prompt atau PowerShell dan verifikasi:

node -v
npm -v

Penting: Selama wizard installer, ada langkah opsional untuk menginstal Chocolatey dan build tools untuk modul native (addon C++). Aktifkan ini jika dependensi proyek Anda menyertakan paket seperti bcrypt, sharp, atau modul yang bergantung pada node-gyp. Melewatinya menyebabkan kegagalan build yang membingungkan di kemudian hari.

Metode 2: Chocolatey

Chocolatey adalah package manager Windows yang memungkinkan instalasi terskrip dan dapat diulang — berharga untuk penyediaan mesin pengembang.

Buka Command Prompt atau PowerShell yang ditinggikan (Administrator):

choco install nodejs-lts

Verifikasi:

node -v
npm -v

Metode 3: nvm-windows

Perhatikan bahwa nvm untuk Linux/macOS tidak berjalan di Windows. Padanan Windows adalah nvm-windows, proyek terpisah dengan antarmuka yang serupa.

Unduh installer dari halaman rilis GitHub nvm-windows. Setelah instalasi:

nvm install lts
nvm use lts
node -v

Windows Subsystem for Linux (WSL2): Pengembang yang melakukan pekerjaan Node.js serius di Windows sebaiknya mempertimbangkan WSL2 dengan Ubuntu. Di dalam WSL2, instalasi nvm Linux bekerja identik dengan Linux native, dan pengalaman pengembangan jauh lebih konsisten dengan lingkungan server produksi.

Memahami LTS vs. Current: Versi Mana yang Harus Diinstal

Node.js mengikuti jadwal rilis yang dapat diprediksi yang secara langsung memengaruhi versi mana yang harus Anda deploy.

Tipe RilisKadenceDurasi DukunganKasus Penggunaan
**LTS (Long Term Support)**Mayor bernomor genap (18, 20, 22)Total 30 bulan (12 Aktif + 18 Pemeliharaan)Aplikasi produksi, beban kerja enterprise
**Current**Mayor bernomor ganjil (19, 21, 23)Hanya 6 bulanPengujian fitur, penulis library
**Maintenance LTS**Rilis LTS yang menuaHanya perbaikan keamananSistem legacy yang sedang dimigrasikan

Aturan umum: Selalu deploy LTS di produksi. Gunakan Current hanya di lingkungan pengembangan yang terisolasi ketika Anda perlu menguji kompatibilitas dengan fitur Node.js yang akan datang.

Menjaga Node.js Tetap Diperbarui

Versi Node.js yang sudah usang mengekspos aplikasi Anda pada kerentanan mesin V8 yang diketahui, konfigurasi TLS yang sudah tidak digunakan, dan kompatibilitas dependensi yang rusak. Perlakukan pembaruan Node.js sebagai pemeliharaan keamanan, bukan peningkatan opsional.

Dengan nvm (semua platform):

nvm install --lts
nvm reinstall-packages <old-version>
nvm alias default node

Perintah nvm reinstall-packages memigrasikan paket yang terinstal secara global dari versi lama ke yang baru — detail yang sebagian besar panduan lewatkan yang menghemat waktu yang signifikan.

Dengan NodeSource di Debian/Ubuntu:

sudo apt-get update && sudo apt-get upgrade nodejs

Dengan Homebrew di macOS:

brew update && brew upgrade node

Dengan Chocolatey di Windows:

choco upgrade nodejs-lts

Mengelola Paket npm Global

Paket npm global menginstal alat CLI yang dapat diakses di seluruh sistem. Jaga daftar instalasi global tetap minimal — alat khusus proyek termasuk dalam devDependencies, bukan instalasi global, untuk memastikan build yang dapat direproduksi di berbagai lingkungan.

Instal paket global:

npm install -g yarn
npm install -g pm2
npm install -g typescript

Daftar semua paket yang terinstal secara global:

npm list -g --depth=0

Hapus paket global:

npm uninstall -g yarn

Paket global yang relevan untuk produksi:

  • pm2 — Process manager untuk aplikasi Node.js; menangani clustering, auto-restart, dan manajemen log di server Linux
  • typescript — Compiler TypeScript (tsc)
  • nodemon — File watcher pengembangan yang secara otomatis me-restart proses Node.js saat kode berubah
  • dotenv-cli — Memuat file .env untuk konfigurasi spesifik lingkungan

nvm dan paket global: Saat Anda beralih versi Node.js dengan nvm, paket global yang terinstal di bawah versi sebelumnya tidak tersedia secara otomatis. Instal ulang atau gunakan nvm reinstall-packages <previous-version> untuk memigrasikannya.

Pasca-Instalasi: Mengonfigurasi npm untuk Lingkungan Produksi

Instalasi Node.js yang bersih memerlukan beberapa langkah konfigurasi tambahan sebelum siap untuk produksi.

Tetapkan registri npm (opsional, untuk registri privat atau mirror):

npm config set registry https://registry.npmjs.org/

Konfigurasikan direktori cache npm (relevan di server dengan ruang /tmp yang terbatas):

npm config set cache /path/to/custom/cache

Nonaktifkan pembuatan package-lock.json (hanya jika tim Anda menggunakan yarn.lock secara eksklusif):

npm config set package-lock false

Tetapkan variabel lingkungan Node.js untuk produksi:

export NODE_ENV=production

Tambahkan ini ke /etc/environment atau file unit systemd aplikasi Anda di server Linux untuk memastikan Express.js, Next.js, dan framework lainnya mengaktifkan optimasi produksi mereka.

Jika Anda menjalankan aplikasi Node.js di Dedicated Server, konfigurasikan pm2 sebagai layanan systemd untuk memastikan aplikasi Anda restart setelah reboot:

pm2 start app.js --name "my-app"
pm2 startup systemd
pm2 save

Menjalankan Node.js di Balik Reverse Proxy

Di server produksi, aplikasi Node.js tidak boleh pernah diekspos langsung di port 80 atau 443. Gunakan Nginx atau Apache sebagai reverse proxy, dan terminasi TLS di lapisan proxy. Ini adalah keputusan arsitektur kritis yang langsung diaktifkan oleh langkah instalasi.

Konfigurasi Nginx minimal untuk aplikasi Node.js yang berjalan di port 3000:

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Padukan ini dengan sertifikat TLS yang valid. SSL Certificates sangat penting untuk setiap aplikasi Node.js yang menangani data pengguna, token autentikasi, atau permintaan API — bukan opsional. Let’s Encrypt melalui certbot adalah opsi gratis standar; sertifikat komersial sesuai untuk deployment enterprise.

Node.js di Shared Hosting vs. VPS

Pertanyaan yang sering muncul: apakah Node.js dapat berjalan di shared hosting?

Lingkungan Shared Web Hosting standar tidak mendukung Node.js dengan cara yang berarti. Shared hosting dirancang untuk aplikasi PHP dan tidak menyediakan akses shell, manajemen proses persisten, atau kemampuan untuk mengikat ke port kustom — semua yang diperlukan Node.js.

Untuk deployment Node.js yang nyata, Anda membutuhkan setidaknya paket VPS Hosting. VPS memberi Anda akses root, process manager persisten seperti pm2, dan kontrol penuh atas versi Node.js dan konfigurasi runtime. Jika Anda membutuhkan panel kontrol yang dikelola bersama lingkungan Node.js Anda, VPS dengan cPanel menyediakan jalan tengah antara akses VPS mentah dan hosting yang dikelola.

Untuk beban kerja Node.js yang intensif secara komputasi — inferensi machine learning, transcoding video, atau pemrosesan data skala besar — VPS standar mungkin tidak cukup. GPU Hosting menyediakan akselerasi hardware yang tidak dapat dicapai oleh proses Node.js yang terikat CPU sendiri.

Daftar Periksa Teknis Poin Utama

Gunakan ini sebagai daftar periksa verifikasi pra-deployment:

  • Pemilihan versi: Konfirmasi Anda menjalankan rilis LTS aktif (node -v harus mengembalikan nomor mayor genap dalam jendela dukungan aktif)
  • Metode instalasi sesuai lingkungan: nvm di mesin pengembang; NodeSource atau container di server
  • Versi npm sudah terkini: Jalankan npm install -g npm@latest setelah menginstal Node.js — npm yang disertakan sering bukan yang terbaru
  • NODE_ENV sudah ditetapkan: Verifikasi echo $NODE_ENV mengembalikan production di semua lingkungan server
  • Process manager sudah dikonfigurasi: pm2 list menampilkan aplikasi Anda berjalan dan pm2 startup telah dieksekusi
  • Reverse proxy sudah terpasang: Node.js tidak diekspos langsung di port 80/443
  • TLS diterminasi di proxy: Sertifikat yang valid terinstal dan pengalihan HTTPS diterapkan
  • Daftar paket global minimal: npm list -g --depth=0 hanya menampilkan alat CLI yang penting
  • .nvmrc di-commit ke repositori: Memastikan semua anggota tim dan pipeline CI menggunakan versi Node.js yang sama
  • Pembaruan keamanan diotomatisasi: Cron job atau pipeline CI memeriksa patch LTS baru setiap bulan

FAQ

Apa perbedaan antara Node.js LTS dan Current, dan mana yang harus saya instal?

Rilis LTS (Long Term Support) adalah mayor bernomor genap (18, 20, 22) yang didukung selama 30 bulan dengan patch keamanan dan stabilitas. Rilis Current adalah mayor bernomor ganjil yang hanya didukung selama 6 bulan. Instal LTS untuk pekerjaan produksi atau pengembangan tim apa pun. Gunakan Current hanya untuk eksperimentasi fitur jangka pendek.

Mengapa nvm menampilkan “command not found” setelah instalasi?

Installer nvm menambahkan kode inisialisasi ke file RC shell Anda (~/.bashrc atau ~/.zshrc), tetapi sesi terminal saat ini belum memuatnya kembali. Jalankan source ~/.bashrc (atau source ~/.zshrc untuk Zsh), atau buka jendela terminal baru. Jika masalah berlanjut, verifikasi secara manual bahwa blok inisialisasi nvm ada di akhir file RC Anda.

Bisakah saya menjalankan beberapa versi Node.js secara bersamaan di server yang sama?

Ya, dengan nvm. Setiap versi diinstal di direktorinya sendiri di bawah ~/.nvm/versions/. Anda dapat beralih versi aktif per sesi shell dengan nvm use <version>, atau per proyek menggunakan file .nvmrc. Proses yang berbeda yang menjalankan versi Node.js yang berbeda dapat berdampingan tanpa konflik.

Mengapa saya tidak boleh menginstal Node.js dari repositori apt Ubuntu/Debian default?

Repositori Ubuntu dan Debian default mengirimkan versi Node.js yang sering dua hingga empat versi mayor di belakang LTS saat ini. Misalnya, Ubuntu 22.04 mengirimkan Node.js 12 secara default — versi yang mencapai end-of-life pada tahun 2022. Selalu gunakan repositori NodeSource atau nvm untuk mendapatkan rilis yang didukung dan terkini.

Bagaimana cara menghapus instalasi Node.js sepenuhnya dan memulai dari awal?

Metodenya bergantung pada cara instalasinya. Untuk instalasi NodeSource: sudo apt-get remove nodejs && sudo apt-get autoremove. Untuk nvm: nvm uninstall <version> untuk versi tertentu, atau hapus direktori ~/.nvm sepenuhnya dan hapus baris inisialisasi dari file RC Anda. Untuk Homebrew: brew uninstall node. Untuk installer resmi di macOS/Windows, gunakan uninstaller aplikasi standar sistem dan hapus secara manual direktori sisa di bawah /usr/local/lib/node_modules atau %AppData%npm.

15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai