CentOSNode.jsراهنماهای لینوکس

نصب node.js در RHEL 8 / CentOS 8 Linux

Node.js یک محیط runtime Javascript است که بر اساس موتور منبع باز V8 ساخته شده توسط Google ساخته شده و در اصل در Chrome استفاده شده است. با تشکر از Node.js که می توانیم Javascript را خارج از متن مرورگر اجرا کنیم و از آن نیز مانند یک زبان برنامه نویسی سمت سرور استفاده کنیم ، بنابراین یک برنامه وب کامل در اطراف آن ایجاد می کنیم. در این آموزش نحوه نصب Node.js را در توزیع RHEL 8 / CentOS 8 مشاهده خواهیم کرد.

  • در این آموزش می آموزید:
  • چگونه می توان نسخه های موجود Node.js را در RHEL 8 / CentOS 8 لیست کرد
  • نحوه نصب یک نسخه خاص از Node.js
  • نحوه جابجایی بین نسخه های Node.js در RHEL 8 / CentOS 8

الزامات و قراردادهای نرم افزاری مورد استفاده

دسته بندیالزامات ، کنوانسیون ها یا نسخه نرم افزار مورد استفاده
SystemRHEL 8 / CentOS 8
Softwareنرم افزار مورد نیاز برای دنبال کردن این آموزش قبلاً در حداقل نصب Rhel 8 گنجانده شده است
Otherامتیازات ریشه را برای نصب بسته های مورد نیاز (و یا یوزر با دسترسی sudo )

کدام نسخه از Node.js؟

همانطور که در مقاله قبلی در مورد نصب php در Rhel8 مشاهده کردیم ، نسخه Red Hat Enterprise Linux روش جدیدی برای سازماندهی نرم افزار در مخازن معرفی می کند. به طور پیش فرض فقط دو منبع نرم افزاری در توزیع فعال هستند: BaseOs و Appstream. اولی شامل بسته های اصلی مورد نیاز سیستم عامل است ، در حالی که دومی میزبان انواع مختلفی از نرم افزارهای سازمان یافته در ماژول ها است.

مزیت اصلی استفاده از این پارادایم این است که امکان انتخاب بین نسخه های مختلف یک برنامه یا ابزار مشابه وجود دارد. Node.js یکی از برنامه های موجود در مخزن Appstream است ، بنابراین برای بررسی نسخه های این زمان اجرا Javascript در RHEL 8 ، تمام کاری که ما باید انجام دهیم این است که از ماژول ، زیرفرمان dnf ، مدیر بسته توزیع استفاده کنیم. ما اجرا می کنیم:

$ sudo dnf module list nodejs

خروجی دستور ماژول های موجود و وضعیت آنها را نشان می دهد:

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

این خروجی به ما چه می گوید؟ اول از همه می توانیم ببینیم که دو نسخه (یا “جریان”) از Node.js در سیستم وجود دارد: 10 و 8. همچنین می توانیم ببینیم که سابق به عنوان [d] علامت گذاری شده است و بنابراین به عنوان به طور پیش فرض نصب شود. برای هر جریان ، چندین نمایه در دسترس است: بسته به نوع انتخاب شده ، بسته های مختلفی نصب خواهد شد.

برای دیدن لیست بسته هایی که با هر نمایه نصب می شوند ، می توانیم دستور زیر را اجرا کنیم:

$ sudo dnf module info --profile nodejs

نحو دستور بصری است: ما برای درخواست اطلاعات در مورد ماژول nodejs از dnf به همراه زیرفرمان ماژول و عملکرد info استفاده کردیم. با ارائه گزینه –profile ، مشخص کردیم که می خواهیم درباره پروفایل های موجود اطلاعاتی کسب کنیم. در اینجا خروجی دستور وجود دارد:

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

برای هر جریان در دسترس ، لیست بسته های موجود در هر نمایه نمایش داده می شود. می توانیم ببینیم که با استفاده از نمایه پیش فرض ، بسته های موجود در نصب خود nodejs و npm ، مدیر بسته Node هستند. با استفاده از نمایه توسعه ، بسته nodejs-devel به لیست اضافه می شود ، در حالی که هنگام استفاده از حداقل ، تنها بسته نصب شده nodejs است. سرانجام ، نمایه s2i (منبع به تصویر) شامل nodejs ، npm و nodejs-nodemon است که اساساً اسکریپتی است که قرار است در طول توسعه برنامه node.js استفاده شود.

نصب نسخه پیشفرض ( default)

اکنون که نسخه های موجود Node.js را شناختیم ، می توانیم تصمیم بگیریم که کدام یک را نصب کنیم. همانطور که در بالا گفتیم ، نسخه های پیش فرض 10 است. اگر این مورد دلخواه باشد ، تنها کاری که باید انجام دهیم این است:

$ sudo dnf install nodejs

خلاصه ای از بسته های نصب شده و وابستگی آنها در ترمینال نمایش داده می شود و سیستم برای ادامه تأیید درخواست می کند:

======================================================================================================================================================
 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]: 

تعیین نسخه برای نصب

اگر بخواهیم نسخه دیگری (جریانی در اصطلاح Rhel) یا نمایه دیگری را نصب کنیم ، چه می کنیم؟ کاملاً ساده است:

name:stream/profile

اساساً ، برای نصب نسخه پیش فرض ماژول nodejs ، اما با مشخصات توسعه ، ما اجرا خواهیم کرد:

$ sudo dnf module install nodejs:10/development

لیست بسته هایی که نصب می شوند ، با توجه به تغییر مشخصات ، افزایش می یابد:

======================================================================================================================================================
 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 

به همین ترتیب ، برای نصب نسخه 8 زمان اجرا Javascript با مشخصات پیش فرض ، ما اجرا خواهیم کرد:

$ sudo dnf module install nodejs:8

در این حالت ، از آنجا که می خواستیم از نمایه پیش فرض استفاده کنیم ، از افزودن آن در دستور صرف نظر کردیم. همانطور که می توانید در خروجی زیر تأیید کنید ، نسخه بسته های نصب شده دوباره تغییر کرد:

======================================================================================================================================================
 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 

فرض کنید ما نصب لیست بسته های فوق را تأیید کردیم. اگر اکنون اجرا کنیم:

$ sudo dnf module list nodejs

ما می توانیم تغییرات منعکس شده با علامت گذاری شده در خروجی را مشاهده کنیم:

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

نسخه 10 همچنان به عنوان نسخه پیش فرض علامت گذاری شده است ، اما اکنون جریان نسخه 8 با [e] مشخص شده است که به این معنی است که به طور خودکار فعال شده است. علاوه بر این ، علامت [i] در قسمت پروفایل های همان جریان ، نزدیک به نام یک نصب شده استفاده می شود.

تغییر نسخه NodeJs

اگر نسخه خاصی از Node.js را نصب کنیم و بخواهیم آن را به نسخه دیگری تغییر دهیم ، چه می کنیم؟ در واقع ، ما باید نسخه جدید را برای نصب مشخص کنیم و سیستم بقیه موارد را مراقبت می کند. به عنوان مثال ، برای بازگشت به نسخه 10 دوباره اجرا می کنیم:

$ sudo dnf module install nodejs:10/default

اقداماتی که به منظور جلب رضایت درخواست انجام می شود ، برای ما محاسبه و نمایش داده می شود. در بخش خلاصه تراکنش در خروجی زیر ، در واقع می توانیم مشاهده کنیم که 2 بسته (nodejs و npm) به روز می شوند:

======================================================================================================================================================
 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

نتیجه گیری

Node.js اساس موتور جاوا اسکریپت V8 ساخته شده توسط google است و در ابتدا در مرورگر Chrome استفاده شده است. با استفاده از آن می توانیم برنامه هایی با استفاده از Javascript خارج از زمینه مرورگر وب ایجاد کنیم. در این آموزش نحوه نصب بسته nodejs روی سیستم عامل RHEL / CentOS Linux 8 ، نسخه هایی از بسته موجود در مخازن پیش فرض ، نصب یک نسخه خاص و نحوه تشکر از ماژول های جدید را مشاهده کردیم. روش سازماندهی نرم افزار در آخرین نسخه از توزیع سازمانی Red Hat ، ما می توانیم از یک نسخه به نسخه دیگر تغییر دهیم.

منبع :
https://linuxconfig.org/
https://www.itzgeek.com/

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

دکمه بازگشت به بالا