معرفی
Node.js یک پلت فرم جاوا اسکریپت برای برنامه نویسی همه منظوره است که به کاربران اجازه می دهد تا برنامه های شبکه را به سرعت بسازند. Node.js با استفاده از جاوا اسکریپت در قسمت جلویی و پشتیبان، توسعه را سازگارتر و یکپارچه تر می کند.
پیش نیازها
این راهنما فرض می کند که از اوبونتو 18.04 استفاده می کنید. قبل از شروع، باید یک حساب کاربری غیر ریشه با امتیازات sudo روی سیستم خود تنظیم کنید.
نصب Node.js از مخازن پیش فرض با Apt
اوبونتو 18.04 حاوی نسخهای از Node.js در مخازن پیشفرض خود است که میتوان از آن برای ارائه یک تجربه ثابت در چندین سیستم استفاده کرد. در زمان نگارش، نسخه موجود در مخازن 8.10.0 است. این آخرین نسخه نخواهد بود، اما باید پایدار و برای آزمایش سریع زبان کافی باشد.
برای دریافت این نسخه می توانید از apt package manager استفاده کنید. فهرست بسته محلی خود را تازه کنید:
sudo apt update
حالا Node.js را نصب کنید:
sudo apt install nodejs
تأیید کنید که Node.js را با موفقیت نصب کردهاید، با جستجو در node برای شماره نسخه آن:
node -v
v8.10.0
اگر بسته موجود در مخازن با نیازهای شما مطابقت دارد، این تنها کاری است که برای راه اندازی Node.js باید انجام دهید. در بیشتر موارد، شما همچنین می خواهید npm، مدیر بسته Node.js را نیز نصب کنید. می توانید بسته npm را با apt نصب کنید:
sudo apt install npm
این به شما امکان می دهد ماژول ها و بسته هایی را برای استفاده با Node.js نصب کنید.
اکنون Node.js و npm را با استفاده از apt و مخازن نرم افزار پیش فرض اوبونتو با موفقیت نصب کرده اید. با این حال، ممکن است ترجیح دهید با نسخههای مختلف Node.js، آرشیو بستهها یا مدیران نسخه کار کنید. مراحل بعدی این عناصر را به همراه روشهای نصب انعطافپذیرتر و قویتر مورد بحث قرار خواهند داد.
نصب Node.js با Apt با استفاده از NodeSource PPA
برای نصب نسخه جدیدتر Node.js می توانید PPA (بایگانی بسته شخصی) را که توسط NodeSource نگهداری می شود اضافه کنید. این نسخههای بهروز Node.js را نسبت به مخازن رسمی اوبونتو خواهد داشت و به شما امکان میدهد بین چندین نسخه موجود پلتفرم یکی را انتخاب کنید.
ابتدا PPA را نصب کنید تا به محتویات آن دسترسی داشته باشید. از فهرست اصلی خود، از curl برای بازیابی اسکریپت نصب نسخه دلخواه خود استفاده کنید، مطمئن شوید که 17.x را با رشته نسخه ترجیحی خود جایگزین کنید (در صورت متفاوت بودن):
cd ~
curl -sL https://deb.nodesource.com/setup_17.x -o nodesource_setup.sh
برای اطلاعات بیشتر در مورد نسخه های موجود می توانید به مستندات NodeSource مراجعه کنید.
در صورت تمایل، می توانید محتوای این اسکریپت را با nano (یا ویرایشگر متن دلخواه خود) بررسی کنید:
nano nodesource_setup.sh
هنگامی که از اجرای امن اسکریپت راضی شدید، از ویرایشگر متن خارج شوید. اگر از nano استفاده میکنید، میتوانید با فشار دادن CTRL + X خارج شوید. سپس اسکریپت را با sudo اجرا کنید:
sudo bash nodesource_setup.sh
PPA به پیکربندی شما اضافه می شود و کش بسته محلی شما به طور خودکار به روز می شود. اکنون می توانید بسته Node.js را مانند قسمت قبل نصب کنید:
sudo apt install nodejs
با اجرای گره با پرچم -v، تأیید کنید که نسخه جدید را نصب کرده اید:
node -v
v17.3.0
برخلاف آنچه در مخازن بسته پیشفرض اوبونتو وجود دارد، این بسته nodejs دارای هر دو نود و npm است، بنابراین نیازی به نصب جداگانه npm ندارید.
npm از یک فایل پیکربندی در فهرست اصلی شما برای پیگیری بهروزرسانیها استفاده میکند. اولین باری که npm را اجرا می کنید ایجاد می شود. برای اطمینان از نصب بودن npm و ایجاد فایل پیکربندی، دستور زیر را اجرا کنید:
npm -v
8.3.0
برای اینکه برخی از بسته های npm کار کنند (مثلاً آنهایی که نیاز به کامپایل کد از منبع دارند)، باید بسته build-essential را نصب کنید:
sudo apt install build-essential
اکنون ابزارهای لازم برای کار با بسته های npm را دارید که نیاز به کامپایل کد از منبع دارند.
در این بخش، Node.js و npm را با استفاده از apt و NodeSource PPA با موفقیت نصب کردید. در مرحله بعد، از Node Version Manager برای نصب و مدیریت چندین نسخه Node.js استفاده خواهید کرد.
نصب Node با استفاده از Node Version Manager
یک جایگزین برای نصب Node.js استفاده از ابزاری به نام nvm، Node Version Manager (NVM) است. nvm به جای کار در سطح سیستم عامل، در سطح دایرکتوری مستقل در فهرست اصلی شما کار می کند. این بدان معناست که میتوانید چندین نسخه مستقل Node.js را بدون تأثیر بر کل سیستم نصب کنید.
کنترل محیط خود با nvm به شما امکان می دهد به جدیدترین نسخه های Node.js دسترسی داشته باشید و نسخه های قبلی را حفظ و مدیریت کنید. با این حال، این یک ابزار متفاوت از apt است، و نسخههایی از Node.js که با آن مدیریت میکنید با نسخههایی که با apt مدیریت میکنید متمایز هستند.
برای نصب NVM در دستگاه اوبونتو 18.04، از صفحه GitHub پروژه بازدید کنید. دستور curl را از فایل README که در صفحه اصلی نمایش داده می شود کپی کنید تا آخرین نسخه اسکریپت نصب را دریافت کنید.
قبل از انتقال فرمان به bash، همیشه ایده خوبی است که اسکریپت را بررسی کنید تا مطمئن شوید که کاری را انجام نمی دهد که با آن موافق نیستید. با حذف | می توانید این کار را انجام دهید بخش bash در انتهای دستور curl:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh
خروجی را مرور کنید و مطمئن شوید که با تغییراتی که ایجاد می کند راحت هستید. پس از رضایت، همان دستور را با | اجرا کنید bash در انتها اضافه شده است. URL مورد استفاده شما بسته به آخرین نسخه NVM تغییر می کند، اما از هم اکنون، اسکریپت را می توان با اجرای موارد زیر دانلود و اجرا کرد:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
این اسکریپت nvm را در حساب کاربری شما نصب می کند. برای استفاده از آن، ابتدا فایل .bashrc را سورس کنید:
source ~/.bashrc
با نصب nvm، می توانید نسخه های ایزوله Node.js را نصب کنید. ابتدا از nvm بپرسید که چه نسخه هایی از Node موجود است:
nvm ls-remote
...
v14.18.2 (Latest LTS: Fermium)
v15.0.0
v15.0.1
v15.1.0
v15.2.0
v15.2.1
v15.3.0
v15.4.0
v15.5.0
v15.5.1
v15.6.0
v15.7.0
v15.8.0
v15.9.0
v15.10.0
v15.11.0
v15.12.0
v15.13.0
v15.14.0
v16.0.0
v16.1.0
v16.2.0
v16.3.0
v16.4.0
v16.4.1
v16.4.2
v16.5.0
v16.6.0
v16.6.1
v16.6.2
v16.7.0
v16.8.0
v16.9.0
v16.9.1
v16.10.0
v16.11.0
v16.11.1
v16.12.0
v16.13.0 (LTS: Gallium)
v16.13.1 (Latest LTS: Gallium)
v17.0.0
v17.0.1
v17.1.0
v17.2.0
v17.3.0
این یک لیست بسیار طولانی است، اما می توانید با وارد کردن هر یک از نسخه های منتشر شده لیست، نسخه ای از Node را نصب کنید. به عنوان مثال، برای دریافت نسخه v16.13.1، موارد زیر را اجرا کنید:
nvm install v16.13.1
Output
Now using node v16.13.1 (npm v8.1.2)
گاهی اوقات nvm به استفاده از آخرین نسخه نصب شده تغییر می کند. اما میتوانید به nvm بگویید از نسخهای که دانلود کردهاید استفاده کند (اگر متفاوت است):
nvm use v16.13.1
Now using node v16.13.1 (npm v8.1.2)
گاهی اوقات nvm به استفاده از آخرین نسخه نصب شده تغییر می کند. اما میتوانید به nvm بگویید از نسخهای که دانلود کردهاید استفاده کند (اگر متفاوت است):
nvm use v16.13.1
نسخه ای که در حال حاضر استفاده می شود را با اجرای موارد زیر بررسی کنید:
node -v
v16.13.1
اگر چندین نسخه Node را نصب کردهاید، میتوانید ls را اجرا کنید تا لیستی از آنها را دریافت کنید:
nvm ls
-> v16.13.1
system
default -> v16.13.1
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.13.1) (default)
stable -> 16.13 (-> v16.13.1) (default)
lts/* -> lts/gallium (-> v16.13.1)
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.8 (-> N/A)
lts/fermium -> v14.18.2 (-> N/A)
lts/gallium -> v16.13.1
همچنین می توانید به صورت پیش فرض یکی از نسخه ها را انتخاب کنید:
nvm alias default 16.13.1
default -> 16.13.1 (-> v16.13.1)
این نسخه به صورت خودکار انتخاب می شود زمانی که یک جلسه جدید ایجاد می شود. همچنین می توانید با نام مستعار در دستور زیر به آن ارجاع دهید:
nvm use default
Now using node v16.13.1 (npm v8.1.2)
هر نسخه از Node بسته های خود را پیگیری می کند و npm برای مدیریت آنها در دسترس است.
همچنین می توانید بسته های نصب npm را در دایرکتوری ./node_modules پروژه Node.js داشته باشید. برای نصب ماژول اکسپرس از دستور زیر استفاده کنید:
npm install express
added 50 packages, and audited 51 packages in 4s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 8.1.2 -> 8.3.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.3.0
npm notice Run npm install -g npm@8.3.0 to update!
npm notice
اگر میخواهید ماژول را به صورت سراسری نصب کنید و آن را با استفاده از نسخه مشابه Node.js برای پروژههای دیگر در دسترس قرار دهید، میتوانید پرچم -g را اضافه کنید:
npm install -g express
added 50 packages, and audited 51 packages in 1s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
با این کار بسته در زیر نصب می شود:
~/.nvm/versions/node/16.13.1/lib/node_modules/express
نصب ماژول به صورت سراسری به شما امکان می دهد دستورات را از خط فرمان اجرا کنید، اما باید بسته را به حوزه محلی خود پیوند دهید تا آن را از داخل یک برنامه درخواست کنید:
npm link express
با اجرای موارد زیر میتوانید درباره گزینههای موجود با nvm اطلاعات بیشتری کسب کنید:
nvm help
شما با استفاده از Node Version Manager، nvm، Node را با موفقیت نصب کرده اید تا نسخه های مختلف Node را نصب و مدیریت کنید.
حذف Node.js
بسته به نسخه ای که می خواهید هدف بگیرید، می توانید Node.js را با استفاده از apt یا nvm حذف نصب کنید. برای حذف نسخه پیش فرض مخزن، از apt در سطح سیستم استفاده خواهید کرد. این دستور بسته را حذف می کند و فایل های پیکربندی را حفظ می کند. اگر قصد دارید در آینده بسته را دوباره نصب کنید، این کار مفید است:
sudo apt remove nodejs
اگر نمیخواهید فایلهای پیکربندی را برای استفاده بعدی ذخیره کنید، دستور زیر را برای حذف نصب بسته و حذف فایلهای پیکربندی مرتبط با آن اجرا کنید:
sudo apt purge nodejs
به عنوان آخرین مرحله، میتوانید بستههای استفادهنشده را که بهطور خودکار با بسته حذف شده نصب شدهاند حذف کنید:
sudo apt autoremove
برای حذف نصب نسخهای از Node.js که با استفاده از nvm فعال کردهاید، ابتدا مشخص کنید نسخهای که میخواهید حذف کنید، نسخه فعال فعلی است یا خیر:
nvm current
اگر نسخه مورد نظر شما نسخه فعال فعلی نیست، می توانید اجرا کنید:
nvm uninstall node_version
Uninstalled node node_version
این دستور نسخه انتخاب شده Node.js را حذف نصب می کند.
اگر نسخه ای که می خواهید حذف کنید نسخه فعال فعلی است، ابتدا باید nvm را غیرفعال کنید تا تغییرات خود را فعال کنید:
nvm deactivate
اکنون می توانید نسخه فعلی را با استفاده از دستور uninstall که قبلاً استفاده شده است، حذف نصب کنید. با این کار همه فایلهای مرتبط با نسخه هدفمند Node.js به جز فایلهای کش که میتوانند برای نصب مجدد استفاده شوند، حذف میشوند.
نتیجه
راههای زیادی برای راهاندازی و اجرای Node.js در سرور اوبونتو 18.04 وجود دارد. شرایط شما تعیین می کند که کدام یک از روش ها برای نیازهای شما بهترین است. در حالی که استفاده از نسخه بسته بندی شده در مخزن اوبونتو یک روش است، استفاده از nvm یا NodeSource PPA انعطاف پذیری بیشتری را ارائه می دهد.
https://vpsgol.net/product/vps-germany/
https://vpsgol.net/product/vps-usa/
https://vpsgol.net/product/vps-france/
https://vpsgol.net/product/vps-canada/
https://vpsgol.net/product/vps-poland/
https://vpsgol.net/product/vps-netherlands/
https://vpsgol.net/product/vps-england/