Cerita awal, atau tindakan apa yang dilakukan sebelum terjadinya peringatan npm WARN
saat menjalankan baris perintah npm
mungkin berbeda. Namun, peringatan yang muncul sama, seperti di bawah ini.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
Kalau dari saya, peringatan tersebut mulai terjadi ketika saya melakukan upgrate atau mengganti versi Node.js LTS ke versi terbaru (v16.15.1), dengan versi npm 8.11.0
, dari yang sebelumnya node versi 16.13.2 LTS.
Masalah Terjadi
Masalah ini terjadi setelah saya mengganti versi Node ke versi yang paling baru. Ketika menggunakan versi terbaru (v16.15.1), kemudian menjalankan beberapa perintah dengan npm
, seperti melakukan instalasi package / modul, cek versi NPM , cek versi Node, ternyata tidak bisa.
Selain peringatan npm WARN
yang selalu muncul, menggunakan opsi --location=global
seperti yang disarankan pada output peringatan sebagai penggati --global
ketika mencoba melakukan instalasi package juga tidak bisa.
Kemudian ketika terjadi masalah tersebut, saya mencoba untuk kembali mengganti versi Node ke versi yang digunakan sebelumnya (downgrade). Namun ketika melakukan downgrade, justru membuat versi yang sebelumnya menjadi rusak, tidak bisa eksekusi perintah, yang sebelumnya berjalan seperti biasa.
Penginstalan Node
Untuk cara yang saya gunakan dalam menginstal Node sendiri adalah menggunakan nvm (Node Version Manager) untuk Windows. Tidak menggunkan installer node.js.
Dengan NVM, kita dapat menginstal dan mengelola berbagai versi Node dan beralih antar versi dengan mudah. Kita dapat menginstal lebih dari satu versi.
Cara Mengatasi
Karena saya menggunakan NVM, langkah-langkah yang akan dijelaskan dalam mengatasi npm yang bermasalah ini tentunya akan berurusan dengan NVM.
Jika belum pernah menggunakan NVM dan ingin mencoba menggunakannya, silakan lihat cara install nvm di windows.
Solusi Pertama
Sekarang kita ke solusi. Solusi pertama yang akan kita lakukan adalah bagaimana menghilangkan peringatan npm WARN config global ...
yang selalu muncul saat menjalankan baris perintah npm
.
Untuk menghilangkan peringatan tersebut caranya cukup mudah. Disini kita perlu mengedit sebuah file yang berlokasi di C:\Program Files\nodejs
, yaitu npm.cmd
.
Silakan buka file npm.cmd
di notepad / code editor yang digunakan, (Run As Administrator), kemudian cari prefix -g
, ubah dengan prefix --location=global
dan simpan. Seperti di bawah ini.
//C:\Program Files\nodejs\npm.cmd ... SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js" FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix --location=global') DO ( SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js" ) IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" ( SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%" ) "%NODE_EXE%" "%NPM_CLI_JS%" %*
Setelah cara diatas dilakukan, silakan coba menjalankan baris perintah npm untuk melihat hasilnya.
Solusi Kedua
Solusi yang berikutnya adalah untuk masalah npm yang tidak bisa eksekusi perintah, seperti instalasi package, cek versi, dan lain sebagainya.
Untuk solusi yang kedua ini, yang perlu kita lakukan adalah mengupgrade versi NVM ke versi terbaru, jika menggunakan nvm
. Kemudian setelah nvm di upgrade, install kembali node.js versi terbaru atau versi lain yang ingin di gunakan.
Contoh versi nvm yang telah saya upgrade: 1.1.7
ke 1.1.9
.
Langkah-langkah dalam melakukan upgrade nvm adalah sebagai berikut:
1. Silakan hapus terlebih dahulu semua versi node yang ada, atau yang telah diinstall sebelumnya.
//cek daftar node.js yang diinstall nvm list //uninstall node.js nvm uninstall <versi-node>
2. Hapus folder nodejs di C:\Program Files
, jika ada. Agar tidak terjadi konflik.
3. Buka nvm-windows/releases, kemudian download nvm versi terbaru. Klik nvm-setup.exe untuk mendownload.
4. Setelah nvm versi terbaru di download, silakan install seperti biasa, kemudian install node.js melalui terminal / command prompt.
Jalankan perintah di bawah ini secara berurutan untuk melakukan instalasi node dengan nvm.
//1. lihat daftar node.js yang tersedia nvm list available //2. install node nvm install <versi-node> [32-bit / 64-bit] //3. pilih atau beralih versi node yang ingin digunakan nvm use <versi-node> [32-bit / 64-bit]
//contoh nvm install 16.15.1 64-bit nvm use 16.15.1
5. Setelah instalasi node selesai, silakan coba menggunakan baris perintah npm
seperti biasa. Jika npm sudah berjalan normal, namun peringatan npm WARN config global ...
masih muncul, silakan edit kembali file npm.cmd
seperti yang di jelaskan pada solusi pertama diatas.
Contoh instalasi package menggunakan node v16.15.1 dengan npm 8.11.0 untuk pemasangan package secara global:
npm install --location=global emmet-ls
Upgrade Node.js
Jika tidak menggunakan nvm, tetapi menggunakan installer Node.js, silakan coba untuk mengupgrade Node.js dengan mendownload versi Node terbaru di https://nodejs.org/en/download/, kemudian install seperti biasa.
Selesai
Dalam mengatasi, atau menghilangkan peringatan npm WARN config global ...
ini, kita hanya perlu merubah bagian prefix pada file npm.cmd
seperti diatas. Untuk npm yang error atau tidak dapat mengeksekusi baris perintah, kita perlu melakukan upgrade node dan npm ke versi terbaru.
Cara diatas adalah cara yang saya lakukan untuk menghilangkan peringatan dan mengatasi npm yang error, dan berhasil. Silakan dicoba.