Cara Install Node.js di Ubuntu 22.04
Membangun aplikasi web modern membutuhkan runtime JavaScript yang stabil dan efisien di server Anda. Node.js menyelesaikan kebutuhan ini dengan menyediakan lingkungan eksekusi berbasis arsitektur event-driven yang mampu menangani ribuan koneksi secara bersamaan dengan resource minimal.
Requirementsโ
- Akses root atau sudo user ke server.
- Server Linux dengan sistem operasi Ubuntu 22.04 LTS.
- Akses internet untuk mengunduh package dari repository.
- Nusa Cloud VPS (opsional, sebagai lingkungan produksi yang andal).
Lingkungan Pengujianโ
Dokumentasi ini disusun dan divalidasi dengan spesifikasi lingkungan berikut:
- Sistem Operasi: Ubuntu 22.04 LTS (Jammy Jellyfish)
- Node.js: Versi 24.x (LTS) via NodeSource
- Metode Instalasi: NodeSource setup script
setup_lts.x
Persiapan Repositori NodeSourceโ
Sebelum melakukan instalasi Node.js versi 24.x LTS terbaru, Anda perlu menambahkan repositori resmi dari NodeSource. Versi Node.js bawaan Ubuntu (12.22.9) sudah tertinggal jauh dan tidak lagi menerima update keamanan yang memadai.
Update indeks package Ubuntu dan pasang tool curl yang dibutuhkan untuk mengunduh script setup NodeSource.
sudo apt-get update && sudo apt-get install -y curl
Setelah curl terpasang, unduh script pengaturan NodeSource LTS:
curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh
Langkah ini hanya mengunduh file script ke direktori saat ini. Ini memberikan Anda kesempatan untuk memeriksa isi file jika diperlukan, sebelum mengeksekusinya dengan hak akses root.
Eksekusi Script Setup dan Instalasi Node.jsโ
Sekarang Anda akan mengeksekusi script yang telah diunduh. Script ini akan secara otomatis mendeteksi distribusi Linux yang Anda gunakan (Ubuntu 22.04), menambahkan signing key GPG yang valid untuk NodeSource, dan mendaftarkan repositori NodeSource ke dalam konfigurasi package manager APT server.
sudo -E bash nodesource_setup.sh
Pastikan tidak ada pesan error yang muncul pada output. Bila script berhasil dijalankan, repository akan diperbarui secara otomatis di akhir proses.
Setelah repository NodeSource siap, Anda dapat melanjutkan dengan menginstal package nodejs. Package ini mencakup runtime Node.js beserta package manager npm di dalamnya, sehingga Anda tidak perlu menginstalnya secara terpisah.
sudo apt-get install -y nodejs
Proses instalasi akan menempatkan binary node dan npm ke dalam sistem, dan library global di /usr/lib/node_modules.
Verifikasi Instalasi Node.js di Ubuntu 22.04โ
Untuk memastikan Node.js telah terinstal dengan benar dan menggunakan versi yang sesuai dengan ekspektasi, lakukan pengecekan versi menggunakan CLI.
Cek versi Node.js:
node -v
Output:
v24.18.0
Selanjutnya, pastikan versi NPM (Node Package Manager) juga sudah mutakhir:
npm -v
Output:
11.16.0
Output di atas mengkonfirmasi bahwa Node.js 24 LTS dan NPM telah terpasang dengan baik di server Anda.
Konfigurasi Dasar Environment (Opsional)โ
Dalam beberapa kasus penggunaan produksi, Anda mungkin perlu melakukan pengaturan direktori global npm agar tidak membutuhkan akses sudo setiap kali memasang package secara global. Anda dapat mengubah path instalasi NPM global ke direktori home pengguna biasa.
Buat direktori untuk instalasi global npm:
mkdir ~/.npm-global
Konfigurasikan npm untuk menggunakan direktori baru tersebut:
npm config set prefix '~/.npm-global'
Tambahkan direktori tersebut ke path sistem dengan membuka file profile. Buka file menggunakan text editor pilihan Anda:
# Menggunakan nano:
nano ~/.profile
# Menggunakan vim:
vim ~/.profile
Tambahkan baris berikut di bagian paling akhir dari file:
export PATH=~/.npm-global/bin:$PATH
Setelah itu, muat ulang profile shell agar perubahan path segera aktif:
source ~/.profile
Troubleshooting Instalasi Node.jsโ
Jika Anda menghadapi kendala saat instalasi atau penggunaan, periksa beberapa kemungkinan masalah di bawah ini beserta cara menyelesaikannya.
Gejala Umumโ
- Perintah
nodeataunpmtidak ditemukan (command not found). - Error saat menambahkan PPA NodeSource (gpg keys missing).
- Versi Node.js yang terpasang tetap versi lama bawaan Ubuntu (12.x).
Kemungkinan Penyebabโ
- Script setup NodeSource gagal dieksekusi atau koneksi jaringan terputus.
- Cache repository APT masih menyimpan referensi versi Node.js bawaan Ubuntu.
- Terjadi konflik konfigurasi package manager yang mencegah instalasi NodeSource versi terbaru.
Diagnostikโ
Periksa konfigurasi repository APT yang merujuk ke NodeSource untuk memastikan telah ditambahkan dengan benar:
cat /etc/apt/sources.list.d/nodesource.list
Jika file tersebut tidak ada atau kosong, artinya script instalasi gagal menambahkan repository.
Periksa ketersediaan package nodejs dari repository yang dikenali sistem:
apt-cache policy nodejs
Lihat bagian Candidate: untuk mengetahui versi mana yang akan diinstall APT.
Perbaikanโ
Error 1: Command node not found
Jika instalasi terlihat sukses tetapi perintah tidak ditemukan, pastikan package nodejs memang sudah diinstal, bukan package node (yang merupakan aplikasi amateur radio di distro lama).
sudo apt-get install -y nodejs
Error 2: Gagal Menambahkan Key GPG NodeSource
Jika Anda menemui error seputar GPG signature saat apt-get update, hapus referensi NodeSource yang lama dan jalankan ulang script setup.
โ ๏ธ Peringatan: Perintah ini menghapus konfigurasi list repository NodeSource yang mungkin menyebabkan masalah pada update APT sistem.
sudo rm -f /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh
sudo -E bash nodesource_setup.sh
Error 3: Terjebak di Versi Ubuntu Lama (12.x) Jika package list tidak sinkron, Anda harus menghapus Node.js versi bawaan sepenuhnya, lalu mengulangi instalasi package.
โ ๏ธ Peringatan: Perintah autoremove dan purge ini menghapus instalasi Node.js lama beserta konfigurasi paket bawaan. Modul npm yang ada di folder lama mungkin tidak akan bisa dibaca.
sudo apt-get purge -y nodejs npm
sudo apt-get autoremove -y
sudo apt-get update
sudo apt-get install -y nodejs
Verifikasiโ
Setelah menerapkan perbaikan, jalankan perintah verifikasi ulang node -v dan npm -v untuk memastikan angka versinya sesuai dengan cabang 24.x LTS.
Manajemen Aplikasi Node.js dengan PM2โ
Dalam skenario production, Anda tidak disarankan untuk menjalankan aplikasi Node.js secara langsung menggunakan perintah CLI dasar node app.js. Jika terjadi crash, aplikasi akan berhenti dan tidak melakukan restart secara otomatis. Selain itu, menjalankan aplikasi secara langsung di terminal membuat proses aplikasi terhenti saat sesi SSH Anda terputus.
Sebagai perbaikan, Anda dapat menggunakan Process Manager Node.js seperti PM2. PM2 menangani auto-restart, rotasi log, dan memungkinkan eksekusi aplikasi di background sistem.
Install PM2 secara global menggunakan npm:
sudo npm install -g pm2
Untuk memastikan aplikasi tetap berjalan secara otomatis ketika server mengalami reboot, Anda dapat mengaktifkan startup script PM2. PM2 mampu mendeteksi sistem operasi dan mengkonfigurasi systemd secara otomatis.
pm2 startup
Pengujian Fungsionalโ
Untuk memvalidasi bahwa environment Node.js dapat mengeksekusi kode secara normal, buatlah script JavaScript sederhana untuk dicoba jalankan.
Gunakan perintah tee untuk membuat file hello.js:
tee hello.js > /dev/null << 'EOF'
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World dari Nusa Cloud VPS\n');
});
server.listen(port, hostname, () => {
console.log(`Server berjalan di http://${hostname}:${port}/`);
});
EOF
Jalankan script hello.js yang telah dibuat sebelumnya menggunakan PM2:
pm2 start hello.js --name "Aplikasi_Testing"
Output yang dihasilkan akan menampilkan tabel status aplikasi:
[PM2] Starting /root/hello.js in fork_mode (1 instance)
[PM2] Done.
โโโโโโโฌโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโ
โ id โ name โ namespace โ version โ mode โ pid โ uptime โ โบ โ status โ cpu โ mem โ user โ watching โ
โโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโผโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโค
โ 0 โ Aplikasi_Testing โ default โ N/A โ fork โ 12345 โ 0s โ 0 โ online โ 0% โ 25.4mb โ root โ disabled โ
โโโโโโโดโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโดโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโ
Selanjutnya, simpan status aplikasi PM2 saat ini agar tetap termuat saat sistem reboot:
pm2 save
Buka terminal kedua (sesi SSH baru) dan tes respons aplikasi menggunakan curl:
curl http://127.0.0.1:3000
Output:
Hello World dari Nusa Cloud VPS
Kembali ke terminal pertama, Anda dapat menghentikan script Node.js dari PM2:
pm2 stop Aplikasi_Testing
Proses instalasi, konfigurasi awal, dan pengujian Node.js di server Ubuntu Anda kini telah lengkap. Environment ini siap menangani traffic production.
