Lewati ke isi
Install Node.js npm Yarn

Install Node.js dan npm pada MX Linux

Menurut halaman Wikipedia Node.js adalah platform perangkat lunak pada sisi peladen dan aplikasi jaringan. Ditulis dengan bahasa JavaScript dan dijalankan pada Windows, Mac OS X, dan Linux tanpa perubahan kode program. Node.js memiliki pustaka peladen HTTP sendiri sehingga memungkinkan untuk menjalankan peladen web tanpa menggunakan program peladen web seperti Apache atau Lighttpd. Secara sederhana Node.js adalah server-side JavaScript.

Sedangkan npm singkatan dari Node Package Manager. npm adalah sebuah manajer paket untuk bahasa pemrograman JavaScript yang menjadi manajer baku untuk lingkungan runtime Node.js. npm terdiri dari klien baris perintah yang disebut npm, dan sebuah pangkalan data daring yang berisi paket publik dan paket pribadi berbayar, yang disebut npm registry. Registry dapat diakses melalui klien, dan ketersediaan paket dapat dicari melalui situs web npm.


Permasalahan

Penulis sekarang menggunakan Distro Linux MX-19.3_x64 Patito Feo yang dirilis pada tanggal 21 Oktober 2019. Didalam paket Distro Linux ini sebenarnya sudah tersedia Node.js versi 10.21.0. Hanya saja pada versi Node.js tersebut tidak diikutsertakan manajer paket npm sehingga ketika ingin melakukan instalasi perangkat lunak yang mengharuskan melalui npm kita akan mengalami kesulitan. Hal inilah yang memaksa kita untuk meng-upgrade versi Node.js yang sudah ada pada MX-Linux. Node.js mengikutsertakan npm sejak rilis versi 12 stable.


Langkah Instalasi Node.js npm dan Yarn

Dibawah ini langkah-langkah untuk meng-instal Node.js, npm dan Yarn pada distro MX-Linux.

Langkah 1: Buka Terminal melalui Start Menu atau menggunakan Shortcut dengan kombinasi tombol

Ctrl+Alt+T

Langkah 2: Periksa versi Node.js dan npm sebelum upgrade dengan mengetikan perintah dibawah ini dan tekan tombol Enter

node --version

maka akan keluar informasi versi Node.js

v10.21.0

ketikan perintah dibawah ini untuk memeriksa versi npm dan tekan tombol Enter

npm --version

maka akan keluar informasi dibawah ini

bash: npm: command not found

itu menandakan bahwa npm belum terpasang pada sistem operasi kita

Langkah 3: Mencoba melakukan pemasangan Node.js menggunakan perintah dibawah ini dan tekan tombol Enter

sudo apt-get install nodejs

dan keluar informasi seperti dibawah ini

Reading package lists... Done
Building dependency tree       
Reading state information... Done
nodejs is already the newest version (10.21.0~dfsg-1~deb10u1).
nodejs set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

informasi diatas menunjukan bahwa sistem operasi sudah memasang Node.js versi terbaru. Namun maksud terbaru disini adalah paket yang digunakan merupakan paket yang dikumpulkan pada repository MX Linux bukan terbaru dari paket penyedia dan pengembang Node.js.

Langkah 4: Lakukan update semua paket terebih dahulu untuk meyakinkan tidak ada lagi paket yang perlu untuk diupdate. Gunakan perintah dibawah ini dan tekan tombol Enter

$ sudo apt update

maka akan keluar informasi seperti dibawah ini

Hit:1 http://deb.debian.org/debian buster-updates InRelease
Hit:2 http://deb.debian.org/debian buster InRelease                             
Hit:3 http://packages.microsoft.com/repos/vscode stable InRelease               
Hit:4 http://deb.debian.org/debian-security buster/updates InRelease
Hit:5 http://deb.debian.org/debian buster-backports InRelease
Hit:6 http://mxrepo.com/mx/repo buster InRelease
Reading package lists... Done
Building dependency tree       
Reading state information... Done
4 packages can be upgraded. Run 'apt list --upgradable' to see them.

Langkah 5: Upgrade paket perangkat lunak yang ada menggunakan perintah dibawah ini dan tekan tombol Enter

$ sudo apt upgrade

Akan keluar informasi seperti dibawah ini

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libbrotli1 mx-repo-manager mx-snapshot mx-tweak
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,069 kB of archives.
After this operation, 3,072 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian-security buster/updates/main amd64 libbrotli1 amd64 1.0.7-2+deb10u1 [269 kB]
Get:2 http://mxrepo.com/mx/repo buster/main amd64 mx-repo-manager amd64 20.12 [112 kB]
Get:3 http://mxrepo.com/mx/repo buster/main amd64 mx-snapshot amd64 20.12 [206 kB]
Get:4 http://mxrepo.com/mx/repo buster/main amd64 mx-tweak amd64 20.12.01 [483 kB]
Fetched 1,069 kB in 5s (232 kB/s)  
(Reading database ... 443982 files and directories currently installed.)
Preparing to unpack .../libbrotli1_1.0.7-2+deb10u1_amd64.deb ...
Unpacking libbrotli1:amd64 (1.0.7-2+deb10u1) over (1.0.7-2) ...
Preparing to unpack .../mx-repo-manager_20.12_amd64.deb ...
Unpacking mx-repo-manager (20.12) over (20.11.01) ...
Preparing to unpack .../mx-snapshot_20.12_amd64.deb ...
Unpacking mx-snapshot (20.12) over (20.11) ...
Preparing to unpack .../mx-tweak_20.12.01_amd64.deb ...
Unpacking mx-tweak (20.12.01) over (20.11.01) ...
Setting up libbrotli1:amd64 (1.0.7-2+deb10u1) ...
Setting up mx-tweak (20.12.01) ...
Setting up mx-repo-manager (20.12) ...
Setting up mx-snapshot (20.12) ...
Installing new version of config file /etc/mx-snapshot-exclude.list ...
Processing triggers for mime-support (3.62) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for desktop-file-utils (0.23-4) ...

Informasi diatas menunjukan bahwa update software yang ada pada komputer kita sudah selesai tanpa ada masalah.

Langkah 6: Membaca informasi dari repository resmi Node.js melalui link dibawah ini

Halaman Repository Resmi Node.js

Dari informasi diatas tertulis bahwa versi terbaru Node.js (pada saat artikel ini ditulis) adalah versi 15.x, tapi karena alasan lain, penulis akan menggunakan versi 12.x saja, karena yang dibutuhkan selanjutnya tidak memerlukan Node.js dan npm versi terbaru.

Langkah 7: Menambahkah daftar repository ke database MX Linux di komputer kita, ketikan perintah dibawah ini dan tekan tombol Enter

curl -sL https://deb.nodesource.com/setup_12.x | bash -

Maka proses pengumpulan informasi yang dibutuhkan dari repository dilakukan seperti informasi dibawah ini

## Installing the NodeSource Node.js 12.x repo...


## Populating apt-get cache...

+ apt-get update
Hit:1 http://packages.microsoft.com/repos/vscode stable InRelease
Hit:2 http://deb.debian.org/debian buster-updates InRelease
Hit:3 http://deb.debian.org/debian buster InRelease
Hit:4 http://deb.debian.org/debian-security buster/updates InRelease
Hit:5 http://deb.debian.org/debian buster-backports InRelease
Hit:6 http://mxrepo.com/mx/repo buster InRelease
Reading package lists... Done

## Confirming "buster" is supported...

+ curl -sLf -o /dev/null 'https://deb.nodesource.com/node_12.x/dists/buster/Release'

## Adding the NodeSource signing key to your keyring...

+ curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
OK

## Creating apt sources list file for the NodeSource Node.js 12.x repo...

+ echo 'deb https://deb.nodesource.com/node_12.x buster main' > /etc/apt/sources.list.d/nodesource.list
+ echo 'deb-src https://deb.nodesource.com/node_12.x buster main' >> /etc/apt/sources.list.d/nodesource.list

## Running `apt-get update` for you...

+ apt-get update
Hit:1 http://packages.microsoft.com/repos/vscode stable InRelease
Hit:2 http://deb.debian.org/debian buster-updates InRelease                                      
Get:3 https://deb.nodesource.com/node_12.x buster InRelease [4,584 B]                            
Hit:4 http://deb.debian.org/debian buster InRelease                                             
Hit:5 http://deb.debian.org/debian-security buster/updates InRelease
Hit:6 http://mxrepo.com/mx/repo buster InRelease
Hit:7 http://deb.debian.org/debian buster-backports InRelease
Get:8 https://deb.nodesource.com/node_12.x buster/main amd64 Packages [765 B]
Fetched 5,349 B in 3s (2,101 B/s)
Reading package lists... Done

## Run `sudo apt-get install -y nodejs` to install Node.js 12.x and npm
## You may also need development tools to build native addons:
     sudo apt-get install gcc g++ make
## To install the Yarn package manager, run:
     curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
     echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
     sudo apt-get update && sudo apt-get install yarn

Langkah 8: Informasi dari repository Node.js sudah dikumpulkan (fetch), Node.js dan npm siap diinstal kedalam MX Linux. Dari informasi diatas ada 2 perintah yang dapat kita pilih, yaitu:

sudo apt-get install -y nodejs

Perintah diatas untuk melakukan instalasi Node.js dan npm tapi penulis memilih menggunakan perintah kedua, yaitu:

sudo apt-get update && sudo apt-get install yarn

Untuk sekalian menginstal Yarn. Wah! Katanya mau install npm tapi kenapa ada Yarn?

Apa itu Yarn

Yarn adalah manajer paket baru yang menggantikan alur kerja yang ada untuk klien npm atau manajer paket lainnya sambil tetap mempertahankan kompabilitas dengan registri npm.

Jadi npm dan Yarn adalah sama-sama manajer paket untuk memudahkan proses instalasi perangkat lunak pada Linux, hanya saja Yarn di kembangkan oleh Facebook untuk memperbaiki alur kerja npm dengan tetap menjaga kompabilitas dengan npm. Beberapa pengguna menyebutkan bahwa Yarn di klaim lebih cepat dibandingkan npm, karena Yarn memang ditujukan untuk memperbaiki kekurang dari npm. Yarn menginstal paket secara simultan sehingga Yarn lebih cepat dari pada npm. Walau lebih cepat, Yarn tetap menggunakan repository dan registry npm.

Setelah memasukan perintah diatas, maka proses instalasi Node.js, npm dan Yarn akan dimulai dan akan keluar informasi dibawah ini

Hit:1 http://packages.microsoft.com/repos/vscode stable 
Hit:2 https://deb.nodesource.com/node_12.x buster InRelease                                     
Hit:3 http://deb.debian.org/debian buster-updates InRelease                                     
Hit:4 http://deb.debian.org/debian buster InRelease
Hit:5 http://mxrepo.com/mx/repo buster InRelease
Hit:6 http://deb.debian.org/debian-security buster/updates InRelease
Hit:7 http://deb.debian.org/debian buster-backports InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'cmdtest' instead of 'yarn'
The following additional packages will be installed:
  python-cliapp python-markdown python-ttystatus python-yaml
Suggested packages:
  python-xdg python-markdown-doc
The following NEW packages will be installed:
  cmdtest python-cliapp python-markdown python-ttystatus python-yaml
0 upgraded, 5 newly installed, 0 to remove and 1 not upgraded.
Need to get 267 kB of archives.
After this operation, 1,196 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian buster/main amd64 python-yaml amd64 3.13-2 [127 kB]
Get:2 http://deb.debian.org/debian buster/main amd64 python-cliapp all 1.20180812.1-2 [42.2 kB]
Get:3 http://deb.debian.org/debian buster/main amd64 python-ttystatus all 0.38-2 [15.4 kB]
Get:4 http://deb.debian.org/debian buster/main amd64 python-markdown all 3.0.1-3 [60.6 kB]
Get:5 http://deb.debian.org/debian buster/main amd64 cmdtest all 0.32-3 [21.9 kB]
Fetched 267 kB in 0s (670 kB/s)    
Selecting previously unselected package python-yaml.
(Reading database ... 443982 files and directories currently installed.)
Preparing to unpack .../python-yaml_3.13-2_amd64.deb ...
Unpacking python-yaml (3.13-2) ...
Selecting previously unselected package python-cliapp.
Preparing to unpack .../python-cliapp_1.20180812.1-2_all.deb ...
Unpacking python-cliapp (1.20180812.1-2) ...
Selecting previously unselected package python-ttystatus.
Preparing to unpack .../python-ttystatus_0.38-2_all.deb ...
Unpacking python-ttystatus (0.38-2) ...
Selecting previously unselected package python-markdown.
Preparing to unpack .../python-markdown_3.0.1-3_all.deb ...
Unpacking python-markdown (3.0.1-3) ...
Selecting previously unselected package cmdtest.
Preparing to unpack .../cmdtest_0.32-3_all.deb ...
Unpacking cmdtest (0.32-3) ...
Setting up python-ttystatus (0.38-2) ...
Setting up python-markdown (3.0.1-3) ...
Setting up python-yaml (3.13-2) ...
Setting up python-cliapp (1.20180812.1-2) ...
Setting up cmdtest (0.32-3) ...
Processing triggers for man-db (2.8.5-2) ...
root@Henduino:/home/hendriono# apt-get install -y nodejs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  libuv1
Use 'sudo apt autoremove' to remove it.
The following packages will be REMOVED:
  libnode64
The following packages will be upgraded:
  nodejs
1 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Need to get 18.5 MB of archives.
After this operation, 71.4 MB of additional disk space will be used.
Get:1 https://deb.nodesource.com/node_12.x buster/main amd64 nodejs amd64 12.20.0-1nodesource1 [18.5 MB]
Fetched 18.5 MB in 16s (1,178 kB/s)                                                                
dpkg: libnode64:amd64: dependency problems, but removing anyway as you requested:
 nodejs depends on libnode64 (= 10.21.0~dfsg-1~deb10u1).

(Reading database ... 444156 files and directories currently installed.)
Removing libnode64:amd64 (10.21.0~dfsg-1~deb10u1) ...
(Reading database ... 444151 files and directories currently installed.)
Preparing to unpack .../nodejs_12.20.0-1nodesource1_amd64.deb ...
Unpacking nodejs (12.20.0-1nodesource1) over (10.21.0~dfsg-1~deb10u1) ...
Setting up nodejs (12.20.0-1nodesource1) ...
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for man-db (2.8.5-2) ...

Alhamdulillah, proses instalasi Node.js, npm dan Yarn berjalan lancar tanpa masalah.

Langkah 9: Ketikan perintah dibawah ini untuk memeriksa versi Node.js yang sudah berhasil diinstal.

node --version

Maka akan keluar informasi dibawah ini:

v12.20.0

Langkah 10: Ketikan perintah dibawah ini untuk memeriksa versi npm yang sudah berhasil diinstal.

npm --version

Maka akan keluar informasi dibawah ini:

6.14.8

Langkah 11: Ketikan perintah dibawah ini untuk memeriksa versi Yarn yang sudah berhasil diinstal.

yarn --version

Maka akan keluar informasi dibawah ini:

0.32+git

Sampai disini proses instalasi Node.js, npm dan Yarn telah berhasil, selanjutnya kita instal aplikasi lain melalui npm atau Yarn sesuai dengan yang dibutuhkan. Selamat belajar dan belajar lagi.


Pembaharuan Terakhir: 15 Desember 2020 14:27:52