
Dalam proyek pengembangan aplikasi web modern, saya menggunakan kombinasi beberapa stack sekaligus:
- Next.js untuk frontend SSR
- Node.js Express untuk backend API
- React.js untuk beberapa standalone module
- Windows Server sebagai environment produksi
- PM2 sebagai process manager
Namun saat mencoba menjalankan aplikasi menggunakan PM2, saya mengalami error aneh berikut ini:
C:\PROGRAM FILES\NODEJS\NPM.CMD:1
:: Created by npm, please don't edit manually.
^
SyntaxError: Unexpected token ':'
BashSudah coba banyak cara… masih gagal. Sampai akhirnya saya menemukan tips jitu dari forum yang menyelamatkan waktu saya!
💥 Penyebab Error
PM2 di Windows Server mencoba menjalankan npm
dari file npm.cmd
. Tapi karena file .cmd
bukan JavaScript, saat PM2 mencoba mengeksekusinya sebagai JS file, muncullah error ini:
SyntaxError: Unexpected token ':'
✅ Solusi Ampuh: Jalankan Langsung npm-cli.js
Daripada menjalankan npm
command biasa, gunakan path langsung ke npm-cli.js
, seperti ini:
pm2 start "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" --name "MultilingualSystem" -- run start
BashPenjelasan:
Command | Description |
"C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" | ni adalah path ke file CLI asli milik NPM |
--name "MultilingualSystem" | Nama proses PM2 kamu |
-- run start | Perintah NPM yang ingin dijalankan (misalnya npm run start ) |
🔁 Langkah-langkah Lengkap
- Pastikan kamu sudah install PM2 secara global:
pm install -g pm2
Bash- Cari path
npm-cli.js
:
Biasanya di:
C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js
- Jalankan aplikasi kamu dengan path lengkap:
pm2 start "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" --name "MultilingualSystem" -- run dev
- Cek status dengan:
pm2 list
- Simpan konfigurasi PM2 jika perlu:
pm2 save
🧠 Catatan Tambahan
- Solusi ini hanya untuk Windows, karena Linux/macOS tidak pakai
.cmd
. - Kamu bisa membuat script khusus
.bat
untuk shortcut jika sering digunakan.
✨ Penutup
Semoga tutorial ini bisa membantu kamu yang sedang frustrasi dengan error SyntaxError: Unexpected token ':'
saat menjalankan aplikasi di Windows Server menggunakan PM2. Kadang solusi kecil seperti ini bisa bikin kita tepuk jidat sendiri 😅.
Kalau kamu punya pengalaman serupa, boleh share di kolom komentar ya!