Node.js adalah lingkungan runtime Javascript berdasarkan V8
mesin open source yang dibuat oleh Google dan awalnya digunakan di Chrome. Berkat Node.js, kita dapat menjalankan Javascript di luar konteks browser, dan menggunakannya juga seperti bahasa skrip sisi server, sehingga menciptakan seluruh aplikasi web di sekitarnya. Dalam tutorial ini kita akan melihat cara menginstal Node.js di distribusi RHEL 8 / CentOS 8.
Dalam tutorial ini Anda akan mempelajari:
- Cara membuat daftar versi Node.js yang tersedia di RHEL 8 / CentOS 8
- Cara menginstal versi Node.js tertentu
- Cara beralih antar versi Node.js di RHEL 8 / CentOS 8
Node.js – RHEL 8
Persyaratan dan Konvensi Perangkat Lunak yang Digunakan
Kategori | Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan |
---|---|
Sistem | RHEL 8 / CentOS 8 |
Perangkat Lunak | Perangkat lunak yang diperlukan untuk mengikuti tutorial ini sudah termasuk dalam instalasi minimal Rhel 8 |
Lainnya | Hak istimewa root untuk menginstal paket yang dibutuhkan |
Konvensi | # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa |
Versi Node.js yang mana?
Seperti yang kita lihat di artikel sebelumnya tentang menginstal php di Rhel8, versi Red Hat Enterprise Linux memperkenalkan cara baru mengatur perangkat lunak dalam repositori. Secara default hanya ada dua sumber perangkat lunak yang diaktifkan dalam distribusi:BaseOs
dan Appstream
. Yang pertama berisi paket inti yang dibutuhkan oleh sistem operasi, sedangkan yang kedua menampung berbagai jenis perangkat lunak yang diatur dalam modules
.
Keuntungan utama menggunakan paradigma ini adalah memungkinkan untuk memilih antara versi berbeda dari aplikasi atau utilitas yang sama. Node.js adalah salah satu aplikasi yang termasuk dalam Appstream
repositori, oleh karena itu untuk memeriksa versi runtime Javascript yang tersedia di RHEL 8, yang harus kita lakukan adalah menggunakan module
, sebuah sub-perintah dari dnf
, manajer paket distribusi. Kami menjalankan:
$ sudo dnf module list nodejs
Output dari perintah menunjukkan modul yang tersedia dan statusnya:
Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs) Name Stream Profiles Summary nodejs 10 [d] development, minimal, s2i, default [d] Javascript runtime nodejs 8 development, minimal, s2i, default [d] Javascript runtime Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Apa yang dikatakan keluaran ini kepada kita? Pertama-tama kita dapat melihat bahwa ada dua versi (atau “aliran”) Node.js
tersedia di sistem:10, dan 8. Kita juga dapat melihat bahwa yang pertama ditandai sebagai [d]
dan oleh karena itu ditetapkan sebagai default yang akan diinstal. Untuk setiap aliran, tersedia beberapa profil:kumpulan paket yang berbeda akan diinstal tergantung yang mana yang dipilih. Untuk melihat daftar paket yang akan diinstal dengan masing-masing profil, kita dapat menjalankan perintah berikut:
$ sudo dnf module info --profile nodejs
Sintaks perintahnya intuitif:kami menggunakan dnf
dengan modules
subperintah dan info
action, untuk meminta informasi tentang modul nodejs. Dengan memberikan --profile
pilihan, kami menetapkan bahwa kami menginginkan informasi tentang profil yang tersedia. Berikut adalah output dari perintah:
Name : nodejs:10:20181011133319:9edba152:x86_64 development : nodejs : nodejs-devel : npm minimal : nodejs s2i : nodejs : nodejs-nodemon : npm default : nodejs : npm Name : nodejs:8:20181011134412:9edba152:x86_64 development : nodejs : nodejs-devel : npm minimal : nodejs s2i : nodejs : nodejs-nodemon : npm default : nodejs : npm
Untuk setiap aliran yang tersedia, daftar paket yang disertakan dalam setiap profil akan ditampilkan. Kita dapat melihatnya dengan menggunakan default
profile, paket yang disertakan dalam instalasi adalah nodejs
sendiri dan npm
, Manajer Paket Node. Dengan menggunakan development
profil, nodejs-devel
paket ditambahkan ke daftar, sedangkan saat menggunakan minimal
satu, satu-satunya paket yang diinstal adalah nodejs. Terakhir, s2i
Profil (Sumber-ke-Gambar) mencakup nodejs, npm, dan nodejs-nodemon yang pada dasarnya adalah skrip yang dimaksudkan untuk digunakan selama pengembangan aplikasi node.js.
Menginstal versi default
Sekarang setelah kita mengetahui versi Node.js yang tersedia, kita dapat memutuskan mana yang akan diinstal. Seperti yang kami katakan di atas, versi defaultnya adalah 10. Jika ini yang diinginkan, yang harus kita lakukan adalah menjalankan:
$ sudo dnf install nodejs
Ringkasan paket yang akan diinstal dan ketergantungannya akan ditampilkan di terminal, dan sistem akan meminta konfirmasi untuk melanjutkan:
====================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================== Installing: nodejs x86_64 1:10.11.0-2.el8+2021+27085a9b Rhel-8-for-x86_64-appstream-beta-rpms 8.4 M Installing dependencies: npm x86_64 1:6.4.1-1.10.11.0.2.el8+2021+27085a9b Rhel-8-for-x86_64-appstream-beta-rpms 3.6 M libuv x86_64 1:1.23.1-1.el8 Rhel-8-for-x86_64-appstream-beta-rpms 134 k http-parser x86_64 2.8.0-1.el8 Rhel-8-for-x86_64-appstream-beta-rpms 40 k Enabling module streams: nodejs 10 Transaction Summary ====================================================================================================================================================== Install 4 Packages Total download size: 12 M Installed size: 57 M Is this ok [y/N]:
Menentukan versi yang akan dipasang
Bagaimana jika kita ingin menginstal versi alternatif (stream
dalam terminologi Rhel) atau profil yang berbeda? Sintaksnya cukup sederhana:
name:stream/profile
Pada dasarnya, untuk menginstal versi default nodejs
modul, tetapi dengan development
profile, kami akan menjalankan:
$ sudo dnf module install nodejs:10/development
Daftar paket yang akan diinstal bertambah sesuai dengan perubahan profil:
====================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================== Installing group/module packages: npm x86_64 1:6.4.1-1.10.11.0.2.el8+2021+27085a9b Rhel-8-for-x86_64-appstream-beta-rpms 3.6 M nodejs-devel x86_64 1:10.11.0-2.el8+2021+27085a9b Rhel-8-for-x86_64-appstream-beta-rpms 11 M nodejs x86_64 1:10.11.0-2.el8+2021+27085a9b Rhel-8-for-x86_64-appstream-beta-rpms 8.4 M Installing dependencies: redhat-rpm-config noarch 115-1.el8 Rhel-8-for-x86_64-appstream-beta-rpms 82 k perl-srpm-macros noarch 1-25.el8 Rhel-8-for-x86_64-appstream-beta-rpms 11 k go-srpm-macros noarch 2-16.el8 Rhel-8-for-x86_64-appstream-beta-rpms 14 k dwz x86_64 0.12-9.el8 Rhel-8-for-x86_64-appstream-beta-rpms 109 k libuv x86_64 1:1.23.1-1.el8 Rhel-8-for-x86_64-appstream-beta-rpms 134 k http-parser x86_64 2.8.0-1.el8 Rhel-8-for-x86_64-appstream-beta-rpms 40 k python3-rpm-macros noarch 3-35.el8 Rhel-8-for-x86_64-appstream-beta-rpms 13 k rust-srpm-macros noarch 5-2.el8 Rhel-8-for-x86_64-appstream-beta-rpms 9.3 k ocaml-srpm-macros noarch 5-4.el8 Rhel-8-for-x86_64-appstream-beta-rpms 9.5 k efi-srpm-macros noarch 3-2.el8 Rhel-8-for-x86_64-appstream-beta-rpms 22 k qt5-srpm-macros noarch 5.11.1-2.el8 Rhel-8-for-x86_64-appstream-beta-rpms 11 k http-parser-devel x86_64 2.8.0-1.el8 Rhel-8-for-x86_64-appstream-beta-rpms 18 k nodejs-packaging noarch 17-2.el8+1541+81a6effd Rhel-8-for-x86_64-appstream-beta-rpms 19 k libuv-devel x86_64 1:1.23.1-1.el8 Rhel-8-for-x86_64-appstream-beta-rpms 34 k ghc-srpm-macros noarch 1.4.2-7.el8 Rhel-8-for-x86_64-appstream-beta-rpms 9.4 k python-srpm-macros noarch 3-35.el8 Rhel-8-for-x86_64-appstream-beta-rpms 14 k openblas-srpm-macros noarch 2-2.el8 Rhel-8-for-x86_64-appstream-beta-rpms 8.0 k krb5-devel x86_64 1.16.1-19.el8 Rhel-8-for-x86_64-baseos-beta-rpms 546 k libsepol-devel x86_64 2.8-1.el8 Rhel-8-for-x86_64-baseos-beta-rpms 85 k libcom_err-devel x86_64 1.44.3-1.el8 Rhel-8-for-x86_64-baseos-beta-rpms 37 k pcre2-devel x86_64 10.31-11.el8 Rhel-8-for-x86_64-baseos-beta-rpms 591 k zip x86_64 3.0-21.el8 Rhel-8-for-x86_64-baseos-beta-rpms 270 k libkadm5 x86_64 1.16.1-19.el8 Rhel-8-for-x86_64-baseos-beta-rpms 184 k unzip x86_64 6.0-38.el8 Rhel-8-for-x86_64-baseos-beta-rpms 192 k keyutils-libs-devel x86_64 1.5.10-6.el8 Rhel-8-for-x86_64-baseos-beta-rpms 48 k openssl-devel x86_64 1:1.1.1-6.el8 Rhel-8-for-x86_64-baseos-beta-rpms 2.3 M libselinux-devel x86_64 2.8-5.el8 Rhel-8-for-x86_64-baseos-beta-rpms 199 k zlib-devel x86_64 1.2.11-10.el8 Rhel-8-for-x86_64-baseos-beta-rpms 56 k pcre2-utf16 x86_64 10.31-11.el8 Rhel-8-for-x86_64-baseos-beta-rpms 223 k libverto-devel x86_64 0.3.0-5.el8 Rhel-8-for-x86_64-baseos-beta-rpms 18 k pcre2-utf32 x86_64 10.31-11.el8 Rhel-8-for-x86_64-baseos-beta-rpms 215 k Installing module profiles: nodejs/development Enabling module streams: nodejs 10 Transaction Summary ====================================================================================================================================================== Install 34 Packages
Dengan cara yang sama, untuk menginstal runtime Javascript versi 8 dengan profil default, kita akan menjalankan:
$ sudo dnf module install nodejs:8
Dalam hal ini, karena kami ingin menggunakan profil default, kami tidak menyertakannya dalam perintah. Seperti yang dapat Anda
verifikasi pada output di bawah, versi paket yang akan diinstal berubah lagi:
====================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================== Installing group/module packages: nodejs x86_64 1:8.11.4-2.el8+2022+2ec55091 Rhel-8-for-x86_64-appstream-beta-rpms 7.5 M npm x86_64 1:5.6.0-1.8.11.4.2.el8+2022+2ec55091 Rhel-8-for-x86_64-appstream-beta-rpms 4.1 M Installing dependencies: libuv x86_64 1:1.23.1-1.el8 Rhel-8-for-x86_64-appstream-beta-rpms 134 k http-parser x86_64 2.8.0-1.el8 Rhel-8-for-x86_64-appstream-beta-rpms 40 k Installing module profiles: nodejs/default Enabling module streams: nodejs 8 Transaction Summary ====================================================================================================================================================== Install 4 Packages
Misalkan kita mengkonfirmasi instalasi daftar paket di atas. Jika sekarang kita menjalankan:
$ sudo dnf module list nodejs
Kita dapat melihat perubahan yang dicerminkan oleh notasi yang digunakan pada output:
Name Stream Profiles Summary nodejs 10 [d] development, minimal, s2i, default [d] Javascript runtime nodejs 8 [e] development, minimal, s2i, default [d] [i] Javascript runtime Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Versi 10
masih ditandai sebagai yang default, tetapi sekarang versi 8
aliran ditandai dengan [e]
yang berarti telah diaktifkan secara otomatis. Selanjutnya, [i]
tanda digunakan di bagian profil aliran yang sama, di dekat nama yang diinstal.
Mengganti versi
Bagaimana jika kita menginstal versi Node.js tertentu dan ingin mengubah ke versi lain? Pada dasarnya, kita harus menentukan versi baru yang akan diinstal dan sistem akan mengurus sisanya. Misalnya, untuk beralih kembali ke versi 10
kita lari lagi:
$ sudo dnf module install nodejs:10/default
Tindakan yang akan dilakukan untuk memenuhi permintaan dihitung dan ditampilkan kepada kami. Di Transaction Summary
bagian dari output di bawah ini, kita memang dapat melihat bahwa 2 paket (nodejs dan npm) akan ditingkatkan:
====================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================== Upgrading: npm x86_64 1:6.4.1-1.10.11.0.2.el8+2021+27085a9b Rhel-8-for-x86_64-appstream-beta-rpms 3.6 M nodejs x86_64 1:10.11.0-2.el8+2021+27085a9b Rhel-8-for-x86_64-appstream-beta-rpms 8.4 M Switching module streams: nodejs 8 -> 10 Transaction Summary ====================================================================================================================================================== Upgrade 2 Packages
Kesimpulan
Node.js adalah runtime berdasarkan mesin Javascript V8 yang dibuat oleh google, dan awalnya digunakan di browser Chrome. Dengan menggunakannya kita dapat membuat aplikasi menggunakan Javascript di luar konteks web browser. Dalam tutorial ini kita melihat cara menginstal nodejs
paket pada sistem operasi RHEL/CentOS Linux 8, versi paket apa yang tersedia di repositori default, bagaimana mungkin menginstal yang spesifik, dan bagaimana, berkat modules
, cara baru mengatur perangkat lunak dalam versi terbaru dari distribusi perusahaan Red Hat, kita dapat beralih dari satu versi ke versi lainnya.