NVM - Instal dan Kelola Beberapa Versi Node.js di Linux


Node Version Manager (singkatnya NVM) adalah skrip bash sederhana untuk mengelola beberapa versi node.js aktif di sistem Linux Anda. Ini memungkinkan Anda menginstal beberapa versi node.js, dan melihat semua versi yang tersedia untuk instalasi dan semua versi yang diinstal pada sistem Anda.

Nvm juga mendukung pengoperasian versi node.js tertentu dan dapat menunjukkan jalur ke lokasi instalasinya, dan masih banyak lagi.

Dalam artikel ini, kami akan menjelaskan cara menginstal Node Version Manager (NVM) untuk mengelola beberapa versi node.js yang aktif di distribusi Linux Anda.

Menginstal NVM (Node Version Manager) di Linux

Untuk memasang atau memperbarui nvm di distribusi Linux, Anda dapat mengunduh skrip pemasangan otomatis menggunakan alat baris perintah curl atau wget seperti yang ditunjukkan.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
OR
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

Skrip pemasangan otomatis di atas mengkloning repositori nvm ke ~/.nvm di direktori home Anda dan menambahkan perintah sumber yang diperlukan ke skrip startup shell Anda yaitu ~/ .bash_profile, ~/.zshrc, ~/.profile, atau ~/.bashrc, bergantung pada program shell yang Anda gunakan gunakan seperti yang ditunjukkan pada output berikut.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15916  100 15916    0     0  34227      0 --:--:-- --:--:-- --:--:-- 34301
=> Downloading nvm from git to '/root/.nvm'
=> Cloning into '/root/.nvm'...
remote: Enumerating objects: 359, done.
remote: Counting objects: 100% (359/359), done.
remote: Compressing objects: 100% (305/305), done.
remote: Total 359 (delta 40), reused 168 (delta 28), pack-reused 0
Receiving objects: 100% (359/359), 219.46 KiB | 6.86 MiB/s, done.
Resolving deltas: 100% (40/40), done.
* (HEAD detached at FETCH_HEAD)
  master
=> Compressing and cleaning up git repository

=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> You currently have modules installed globally with `npm`. These will no
=> longer be linked to the active version of Node when you install a new node
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
=> override the binaries of modules installed with `nvm`:
...

Setelah instalasi selesai, tutup jendela terminal Anda saat ini dan buka yang baru. Atau, cukup sumber file profil shell Anda untuk memuat nvm. Misalnya, jika Anda menggunakan bash, jalankan perintah berikut:

source ~/.bashrc
OR
source ~/.profile

Selanjutnya, verifikasi apakah nvm telah diinstal pada sistem Anda menggunakan perintah berikut.

command -v nvm

nvm

Ini akan menampilkan keluaran sebagai 'nvm' jika instalasi berhasil.

Instal Beberapa Versi Node.js Menggunakan NVM

Sekarang saatnya mempelajari cara menggunakan Node Version Manager di Linux. Untuk mendownload, mengkompilasi, dan menginstal rilis terbaru node, jalankan perintah berikut:

nvm install node 

Perhatikan bahwa pada perintah di atas, “node” adalah alias untuk versi terbaru.

Downloading and installing node v20.0.0...
Downloading https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-x64.tar.xz...
########################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.0.0 (npm v9.6.4)
Creating default alias: default -> node (-> v20.0.0)

Untuk menginstal versi “node” tertentu, pertama-tama daftarkan versi node yang tersedia, lalu instal versi seperti yang ditunjukkan.

nvm ls-remote
nvm install 19.0.0  
Downloading and installing node v19.0.0...
Downloading https://nodejs.org/dist/v19.0.0/node-v19.0.0-linux-x64.tar.xz...
########################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v19.0.0 (npm v8.19.2)

Setelah Anda menginstal versi Node.js menggunakan nvm, sistem sekarang akan menunjuk ke Node.js dan npm di bawah nvm. Anda dapat memeriksa lokasi biner/perintah node dan npm yang digunakan dengan menjalankan perintah yang sebagai berikut:

which node
/root/.nvm/versions/node/v20.0.0/bin/node

# which npm
/root/.nvm/versions/node/v20.0.0/bin/npm

# node -v
v20.0.0

# npm -v
9.6.4

Mencantumkan Versi Node.js yang Terinstal

Anda dapat memeriksa semua versi yang terinstal dengan perintah berikut:

nvm ls
->      v19.0.0
        v20.0.0
         system
default -> node (-> v20.0.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v20.0.0) (default)
stable -> 20.0 (-> v20.0.0) (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.0 (-> N/A)
lts/hydrogen -> v18.16.0 (-> N/A)

Pilih Versi Node untuk Proyek

Di sinilah nvm menjadi menarik. Sekarang Anda dapat menggunakan nvm untuk memilih versi node.js yang akan digunakan untuk setiap proyek yang sedang Anda kerjakan, berdasarkan kebutuhan. Mari kita lihat cara melakukannya, seperti yang dijelaskan di bawah ini.

Buka beberapa terminal dan pindah ke direktori proyek. Untuk panduan ini, kami memiliki dua proyek di bawah ~/projects/app-server dan ~/projects/test-ui yang memerlukan versi node 19.0.0 dan 20.0.0 .

------------ Project 1 ------------ 
cd ~/projects/api-server
nvm use 19.0.0
node -v

------------ Project 2 ------------
cd ~/projects/test-ui
nvm use 20.0.0
node -v

Misalnya, jika Anda menginstal paket global saat versi 19.0.0 aktif, saat Anda beralih ke versi 20.0.0, Anda perlu menginstal ulang paket global di bawah versi baru.

Yang penting, Anda dapat melihat jalur ke file yang dapat dieksekusi di mana versi node tertentu diinstal sebagai berikut:

nvm which 20.0.0
nvm which 19.0.0
nvm which system  #check system-installed version of a node using “system” alias

Tetapkan Versi Node.js Default di Linux

Selanjutnya, untuk menyetel secara manual versi node default yang akan digunakan di shell baru, gunakan alias “default” seperti yang ditunjukkan.

nvm alias default 20.0.0
nvm alias default system
nvm alias default 19.0.0

Menghapus Instalasi Versi Node.js di Linux

Untuk mencopot pemasangan atau menghapus versi Node.js, jalankan perintah berikut (jangan lupa ganti 19.0.0 dengan nomor versi):

nvm uninstall 19.0.0

Menghapus instalasi NVM di Linux

Untuk menghapus nvm secara manual dari sistem Anda, jalankan perintah berikut:

rm -rf "$NVM_DIR"
OR
rm -rf ~/.nvm

Selanjutnya, edit ~/.bashrc (atau file konfigurasi profil shell yang berlaku, seperti tercantum di atas) dan hapus baris konfigurasi berikut:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion

Untuk informasi lebih lanjut, lihat nvm --help atau buka repositori Node Version Manager Github: https://github.com/nvm-sh/nvm.

Itu saja! Node Version Manager adalah skrip bash sederhana untuk mengelola beberapa versi node.js yang aktif di sistem Linux Anda. Gunakan formulir umpan balik di bawah ini untuk mengajukan pertanyaan atau menyampaikan komentar Anda kepada kami.