مقدمه:
Node.js یک محیط اجرایی جاوا اسکریپت برای برنامهنویسی سمت سرور است. این امکان را به توسعهدهندگان میدهد تا با استفاده از زبان جاوا اسکریپت، که بسیاری از آنها از توسعه وب مبتنی بر مرورگر آشنا هستند، قابلیتهای پشتیبانی از مقیاسپذیر را ایجاد کنند.
در این راهنما، سه روش مختلف نصب Node.js بر روی سرور Ubuntu 20.04 را به شما نشان خواهیم داد:
- استفاده از apt برای نصب پکیج nodejs از مخزن نرمافزار پیشفرض اوبونتو
- استفاده از apt با استفاده از یک مخزن نرمافزار PPA جایگزین برای نصب نسخههای خاص پکیج nodejs
- نصب nvm، مدیر نسخه Node.js، و استفاده از آن برای نصب و مدیریت چندین نسخه از Node.js
برای اکثر کاربران، استفاده از apt با مخزن پیشفرض کافی خواهد بود. در صورت نیاز به نسخههای خاص جدیدتر یا قدیمیتر از Node، باید از مخزن PPA استفاده نمایید. اگر به طور فعال در حال توسعه برنامههای Node هستید و نیاز به تغییر فراوان بین نسخههای Node دارید، روش nvm را انتخاب نمایید.
پیشنیازها:
برای پیگیری این راهنما، شما نیاز به یک سرور اوبونتو 20.04 دارید. قبل از شروع، باید یک حساب کاربری غیر روت با امتیازهای sudo را در سیستم خود تنظیم کرده باشید.
گزینه 1 — نصب Node.js با استفاده از Apt از مخازن پیشفرض:
در اوبونتو 20.04، یک نسخه از Node.js در مخازن پیشفرض آن وجود دارد که میتوانید از آن برای فراهم کردن یک تجربه یکنواخت در انواع سیستمها استفاده کنید. در زمان نگارش این متن، نسخه موجود در مخازن 10.19 است. این شاید آخرین نسخه نباشد، اما برای آزمایش سریع با این زبان، پایدار و کفایتبخش خواهد بود.
برای دریافت این نسخه، میتوانید از مدیر بسته apt استفاده کنید. ابتدا سیستم عامل خود را بهروزرسانی کنید.
sudo apt update
سپس Node.js را نصب کنید
sudo apt install nodejs
با دستور زیر می توانید بررسی کنید که Node.js نصب شده یا خیر
node -v
اگر بسته موجود در مخازن به نیازهای شما پاسخ میدهد، این همه کاری است که برای راهاندازی با Node.js نیاز دارید. در اغلب موارد، همچنین میخواهید npm، مدیر بسته Node.js را نیز نصب کنید. این کار امکان پذیر است با نصب بسته npm با apt
sudo apt install npm
این به شما امکان میدهد ماژولها و بستهها را برای استفاده با Node.js نصب کنید.
در این مرحله، شما با موفقیت Node.js و npm را با استفاده از apt و مخازن نرمافزار پیشفرض اوبونتو نصب کردهاید. در بخش بعدی، نحوه استفاده از یک مخزن جایگزین برای نصب نسخههای مختلف Node.js نشان داده خواهد شد.
گزینه 2 — نصب Node.js با استفاده از Apt با استفاده از یک PPA NodeSource
برای نصب یک نسخه مختلف از Node.js، میتوانید از یک PPA (آرشیو بسته شخصی) که توسط NodeSource نگهداری میشود، استفاده نمایید. این PPAs دارای نسخههای بیشتری از Node.js هستند که در مقایسه با مخازن رسمی اوبونتو در دسترس هستند. نسخههای v16 و v18 از Node.js در زمان نگارش این متن در دسترس هستند.
اولین گام، نصب PPA است تا به بستههای آن دسترسی پیدا کنید. از دایرکتوری خانگی خود، از curl برای دریافت اسکریپت نصب نسخه مورد نظر خود استفاده کنید. حتماً از 16.x با رشته نسخه مورد نظر خود (در صورت متفاوت بودن) استفاده کنید:
cd ~ curl -sL https://deb.nodesource.com/setup_16.x -o /tmp/nodesource_setup.sh
محتوای اسکریپت دانلود شده را با استفاده از nano یا ویرایشگر متن مورد نظر خود بررسی نمایید
nano /tmp/nodesource_setup.sh
وقتی که مطمئن شدید که اسکریپت برای اجرا ایمن است، از ویرایشگر خارج شوید. سپس اسکریپت را با دستور sudo اجرا کنید
sudo bash /tmp/nodesource_setup.sh
PPA به تنظیمات شما افزوده میشود و کش بستههای محلی شما به صورت خودکار بهروزرسانی میشود. اکنون میتوانید بسته Node.js را به همان روشی که در بخش قبل نیز انجام دادید، نصب نمایید
sudo apt install nodejs
اطمینان حاصل کنید که نسخه جدید را نصب کردهاید با اجرای دستور node با استفاده از پرچم -v version
node -v
پکیج nodejs از NodeSource شامل همچنین باینری node و npm است، بنابراین نیازی به نصب جداگانه npm ندارید.
در این مرحله، شما با موفقیت Node.js و npm را با استفاده از apt و PPA NodeSource نصب کردهاید. بخش بعدی نحوه استفاده از مدیر نسخه Node برای نصب و مدیریت چندین نسخه از Node.js را نشان خواهد داد.
گزینه 3 — نصب Node با استفاده از مدیر نسخه Node
یک راه دیگر برای نصب Node.js که به ویژه انعطافپذیر است، استفاده از nvm یا مدیر نسخه Node میباشد. این نرمافزار به شما این امکان را میدهد که بسیاری از نسخههای مستقل مختلف از Node.js و بستههای مرتبط با آنها را به صورت همزمان نصب و نگهداری کنید.
برای نصب NVM روی سیستم اوبونتو 20.04 خود، به صفحه GitHub پروژه مراجعه کنید. دستور curl را از فایل README که در صفحه اصلی نمایش داده میشود، کپی کنید. این کار باعث دریافت آخرین نسخه از اسکریپت نصب میشود.
قبل از اجرای دستور از طریق bash، همیشه ایده خوبی است که اسکریپت را بررسی کنید تا اطمینان حاصل شود که هیچ کاری انجام نمیدهد که با آن موافقت ندارید. این کار با حذف بخش | bash از انتهای دستور curl امکانپذیر است:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh
اسکریپت را مرور کرده و اطمینان حاصل کنید که با تغییراتی که اعمال میشود، راحت هستید. وقتی که اطمینان حاصل کردید، دستور را با اضافه کردن | bash به انتها دوباره اجرا کنید. URL که استفاده میکنید بسته به آخرین نسخه nvm تغییر خواهد کرد، اما در حال حاضر، این اسکریپت را میتوانید با استفاده از دستور زیر دانلود و اجرا کنید:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
این کار اسکریپت nvm را در حساب کاربری شما نصب میکند. برای استفاده از آن، ابتدا باید فایل .bashrc خود را منبعسازی کنید:
source ~/.bashrc
حالا میتوانید از NVM بپرسید که نسخههای مختلف Node در دسترس هستند:
nvm list-remote
این یک لیست بسیار طولانی است. میتوانید یک نسخه از Node را با نوشتن هرکدام از نسخههای منتشر شده نصب کنید. به عنوان مثال، برای دریافت نسخه v14.10.0 میتوانید دستور زیر را اجرا کنید:
nvm install v14.10.0
میتوانید نسخههای مختلفی که نصب کردهاید را با لیست کردن مشاهده نمایید:
nvm list
این نمایش حالا نسخه فعال حال حاضر را در خط اول نشان میدهد (-> v14.10.0)، سپس چند نام مستعار و نسخههایی که این نامهای مستعار به آنها اشاره دارند.
علاوه بر این، نامهای مستعاری برای انواع نسخههای با پشتیبانی طولانیمدت (یا LTS) Node وجود دارد:
همچنین میتوانید یک نسخه بر اساس این نامهای مستعار نصب کنید. به عنوان مثال، برای نصب آخرین نسخه با پشتیبانی طولانیمدت، هیدروژن، دستور زیر را اجرا کنید:
nvm install lts/hydrogen
نسخه صحیح Node همانطور که انتظار میرفت نصب شده است. همچنین یک نسخه سازگار از npm نیز در دسترس میباشد.
نتیجهگیری:
چندین روش برای راهاندازی و استفاده از Node.js بر روی سرور اوبونتو 20.04 وجود دارد. شرایط شما تعیینکنندهی این است که کدام یک از روشهای فوق برای نیازهای شما بهتر است. در حالی که استفاده از نسخههای بسته شده در مخازن اوبونتو یک روش است، استفاده از nvm یا PPA NodeSource امکانات اضافی را ارائه میدهد.