Node.js  و آموزش کامل  روش های نصب زبان های برنامه نویسی و مدیریت کنابخانه آنها

Node.js و آموزش کامل روش های نصب زبان های برنامه نویسی و مدیریت کنابخانه آنها

در این مقاله، علاوه بر یادگیری زبان برنامه‌نویسی Node.js، شما قادر خواهید بود روش‌های نصب و استفاده از زبان‌های برنامه‌نویسی دیگر را نیز یاد بگیرید، از جمله زبان برنامه‌نویسی PHP، Python و دیگر زبان‌ها.

با خواندن این مقاله، شما قادر خواهید بود نه تنها به زبان Node.js آشنا شوید، بلکه با روش‌های نصب و استفاده از زبان‌های محبوب دیگر نظیر PHP و Python نیز آشنا شوید.

شما می‌توانید با استفاده از اطلاعات ارائه شده در این مقاله، به راحتی زبان‌های برنامه‌نویسی دیگر را نصب کرده و با آن‌ها کار کنید. با استفاده از روش‌های توصیه شده برای نصب و مدیریت زبان‌های برنامه‌نویسی مختلف، مانند استفاده از مدیر بسته مناسب و اجرای دستورات مربوطه، شما قادر خواهید بود محیط‌های توسعه مورد نیاز برای زبان‌های مورد نظر خود را فراهم کنید.

بنابراین، با خواندن این مقاله، شما قادر خواهید بود به جز زبان Node.js، زبان‌های برنامه‌نویسی دیگر نیز را به راحتی نصب و استفاده کنید، از قابلیت‌ها و بسته‌های مورد نیاز هر زبان بهره ببرید و در پروژه‌های خود از آن‌ها استفاده کنید.

تجربه شخصی بسیاری از افراد نشان داده است که نصب و راه اندازی زبان‌های برنامه‌نویسی ممکن است با چالش‌هایی همراه باشد. با این حال، با استفاده از روش‌های توصیه شده در این مقاله، به راحتی می‌توانید زبان‌های دیگر را نصب و استفاده کنید.

معرفی Node.js

  • تعریف Node.js
    • Node.js یک محیط اجرایی جاوا اسکریپت سمت سرور است.
    • Node.js به توسعه‌دهندگان اجازه می‌دهد تا برنامه‌های سمت سرور پویا و قدرتمند را با استفاده از جاوا اسکریپت بسازند.
  • مزایای Node.js
    • کارایی  به دلیل الگوی عملکرد non-blocking و یکنخی، Node.js قادر به پردازش همزمان بسیاری از درخواست‌ها و پاسخ‌ها است.
    • قابلیت بالا  Node.js بر روی موتور V8 جاوا اسکریپت Google ساخته شده است که در سرعت و اجرای کد بسیار خوبی دارد.
    • اکوسیستم بزرگ  با وجود بسته‌های npm (Node Package Manager) پرطرفدار، برنامه‌نویسان می‌توانند از هزاران بسته‌ و کتابخانه برای توسعه سریع و ساده استفاده کنند.
    • تنوع در کاربرد  Node.js قابلیت ساخت برنامه‌های وب پویا و اپلیکیشن‌های شبکه دوطرفه (Real-Time) را فراهم می‌کند. همچنین می‌تواند برنامه‌های دسکتاپ، ابزارهای خط فرمان و سیستم‌های مبتنی بر شبکه را نیز پشتیبانی کند.
  • اهمیت Node.js
    • Node.js برای توسعه سریع و کارآمد برنامه‌های وب و سرور روزمره، دارای اهمیت بسیاری است.
    • به دلیل قدرتمند بودن و متن باز بودن Node.js، جامعه توسعه‌دهندگان بزرگی دارد که به بهبود و گسترش این ابزار کمک می‌کنند.
  • کاربردهای Node.js
    • ایجاد وب سرورها
    • رسانه‌های اجتماعی
    • اپ های تحت وب
    • مسنجرها
    • سامانه های مبتنی بر شبکه و وب
    • ابزارهای خط فرمان
    • ربات ها
    • نرم افزارهای دسکتاپ
    • و بسیاری کاربردهای دیگر
  • صنایع استفاده کننده از Node.js
    • فضای مجازی
    • ابر
    • بازی سازی
    • اینترنت اشیا
    • بلاکچین

npm چیست؟

  • تعریف npm
    • npm (Node Package Manager) یک ابزار مدیریت بسته‌ها برای محیط اجرایی جاوا اسکریپت Node.js است.
  • کاربردهای npm
    • نصب بسته‌های مورد نیاز برای پروژه‌های Node.js
    • به‌روزرسانی بسته‌های Node.js
    • حذف بسته‌های Node.js
    • جستجو و دریافت بسته‌های منتشر شده در مخزن npm (npm registry)
    • مدیریت پروژه‌های Node.js
    • نصب ابزارها و اسکریپت‌های مورد نیاز برای توسعه Node.js
    • به اشتراک گذاری بسته‌های Node.js با جامعه توسعه‌دهندگان

تفاوت نصب npm و Node.js  

  • نصب npm
    • نصب npm با نصب Node.js همراه است.
    • npm بخشی از بسته‌ی نصبی Node.js است.
    • npm به شما اجازه می‌دهد تا بسته‌ها و ماژول‌های جاوا اسکریپت را در پروژه‌های خود مدیریت کنید.
  • فعال شدن npm
    • بعد از نصب Node.js، پکیج منیجر npm در محیط شما فعال می‌شود.
    • شما می‌توانید از دستور npm در ترمینال یا خط فرمان استفاده کنید تا بسته‌های جاوا اسکریپت را نصب، بروزرسانی و حذف کنید.
  • خلاصه
    • نصب Node.js منجر به نصب npm خواهد شد.
    • npm مستقل از Node.js نیست و بخشی از آن است.

معرفی ابزارهای مدیریت بسته

  • npm (Node Package Manager)  برای مدیریت بسته‌های Node.js استفاده می‌شود.
  • Yarn  جایگزینی سریعتر برای npm است.
  • Composer  برای زبان برنامه‌نویسی PHP استفاده می‌شود.
  • Pip  برای زبان برنامه‌نویسی پایتون استفاده می‌شود.
  • NuGet  برای پلتفرم .NET استفاده می‌شود.
  • RubyGems  برای زبان برنامه‌نویسی روبی استفاده می‌شود.
  • Cocoapods  برای مدیریت بسته‌های Objective-C و Swift در برنامه‌های iOS و macOS استفاده می‌شود.
  • Gradle  برای مدیریت بسته‌ها و ساخت پروژه‌های جاوا و اندروید استفاده می‌شود.
  • Maven  برای مدیریت بسته‌ها و ساخت پروژه‌های جاوا استفاده می‌شود.
  • Go Modules  برای مدیریت بسته‌ها در زبان برنامه‌نویسی Go استفاده می‌شود.

مقایسه مدیران بسته

ویژگی npm yarn Composer Pip NuGet RubyGems Cocoapods Gradle Maven Go Modules
نوع مدیر بسته نرم‌افزاری مدیر بسته نرم‌افزاری مدیر بسته نرم‌افزاری مدیر بسته نرم‌افزاری مدیر بسته نرم‌افزاری مدیر بسته نرم‌افزاری مدیر بسته نرم‌افزاری ابزار ساخت ابزار ساخت مدیر بسته نرم‌افزاری
سیستم عامل چند پلتفرمی (لینوکس، macOS، ویندوز) چند پلتفرمی (لینوکس، macOS، ویندوز) چند پلتفرمی (لینوکس، macOS، ویندوز) چند پلتفرمی (لینوکس، macOS، ویندوز) ویندوز، macOS چند پلتفرمی (لینوکس، macOS، ویندوز) macOS چند پلتفرمی (لینوکس، macOS، ویندوز) چند پلتفرمی (لینوکس، macOS، ویندوز) چند پلتفرمی (لینوکس، macOS، ویندوز)
زبان برنامه‌نویسی جاوا اسکریپت جاوا اسکریپت PHP پایتون C# روبی Objective-C، Swift جاوا جاوا Go
عملکرد نصب، مدیریت و انتشار بسته‌های نرم‌افزاری نصب، مدیریت و انتشار بسته‌های نرم‌افزاری نصب، مدیریت و انتشار بسته‌های نرم‌افزاری نصب، مدیریت و انتشار بسته‌های نرم‌افزاری نصب، مدیریت و انتشار بسته‌های نرم‌افزاری برای پلتفرم .NET نصب، مدیریت و انتشار بسته‌های نرم‌افزاری نصب، مدیریت و انتشار بسته‌های Objective-C و Swift مدیریت بسته‌ها و ساخت پروژه‌های جاوا و اندروید مدیریت بسته‌ها و ساخت پروژه‌های جاوا مدیریت بسته‌ها در زبان برنامه‌نویسی Go
قابلیت‌ها * شبیه به npm، با برخی از ویژگی های اضافی مانند نصب آفلاین و قفل کردن نسخه * نصب، به‌روزرسانی و حذف بسته‌های Composer * مدیریت وابستگی‌ها * نصب بسته‌ها به صورت محلی یا از مخازن * ایجاد اسکریپت‌های سفارشی برای نصب و پیکربندی * نصب، به‌روزرسانی و حذف بسته‌های پایتون * مدیریت وابستگی‌ها * نصب بسته‌ها از مخزن PyPI یا از URL های سفارشی * ایجاد اسکریپت‌های سفارشی برای نصب و پیکربندی * نصب، به‌روزرسانی و حذف بسته‌های NuGet * مدیریت وابستگی‌ها * نصب بسته‌ها از گالری NuGet یا از URL های سفارشی * ایجاد اسکریپت‌های سفارشی برای نصب و پیکربندی * نصب، به‌روزرسانی و حذف بسته‌های Ruby * مدیریت وابستگی‌ها * نصب بسته‌ها از gemcutter.me یا از URL های سفارشی * ایجاد اسکریپت‌های سفارشی برای نصب و پیکربندی * نصب، به‌روزرسانی و حذف بسته‌های CocoaPods * مدیریت وابستگی‌ها * نصب بسته‌ها از مخزن CocoaPods یا از URL های سفارشی * ادغام با Xcode * مدیریت وابستگی‌ها برای پروژه‌های جاوا و اندروید * ساخت فایل‌های jar و apk * انتشار برنامه‌ها به فروشگاه Google Play * پشتیبانی از ساخت افزایشی * مدیریت وابستگی‌ها برای پروژه‌های جاوا * ساخت فایل‌های jar * انتشار برنامه‌ها به مخازن * پشتیبانی از ساخت افزایشی * نصب، به‌روزرسانی و حذف بسته‌های Go * مدیریت وابستگی‌ها * نصب بسته‌ها از ماژول‌های Go یا از URL های سفارشی * ایجاد اسکریپت‌های سفارشی برای نصب و پیکربندی
تعداد بسته‌ها/کتابخانه‌ها * بیش از 1 میلیون بسته * بیش از 3 میلیون بسته در رجیستری yarn * بیش از 80000 بسته در Packagist * بیش از 200000 بسته در PyPI * بیش از 200000 بسته در گالری NuGet * بیش از 35000 بسته در gemcutter.me * بیش از 15000 بسته در مخزن CocoaPods * بیش از 1 میلیون کتابخانه در مخزن Bintray * بیش از 3 میلیون وابستگی در Maven Central * بیش از 130000 ماژول در ماژول‌های Go
مزایا * استفاده آسان با رابط کاربری خط فرمان (CLI) و رابط کاربری گرافیکی (GUI) * جامعه بزرگ و فعال با طیف گسترده ای از بسته های موجود * انتشار سریع و آسان بسته ها * ادغام با ابزارهای توسعه محبوب مانند Webpack و Gulp * سریعتر از npm، نصب آفلاین، امنیت بهتر * نصب و مدیریت آسان وابستگی ها * سازگاری با مخازن Git * پشتیبانی از نصب محلی * نصب و مدیریت آسان بسته های پایتون * طیف گسترده ای از بسته ها در دسترس است * ادغام با ابزارهای توسعه محبوب مانند pipenv و virtualenv * نصب و مدیریت آسان بسته های .NET * ادغام با Visual Studio * پشتیبانی از طیف گسترده ای از پروژه های .NET * نصب و مدیریت آسان بسته های Ruby * طیف گسترده ای از بسته ها در دسترس است * ادغام با ابزارهای توسعه محبوب مانند RSpec و Bundler * نصب و مدیریت آسان بسته های Objective-C و Swift * ادغام با Xcode * پشتیبانی از طیف گسترده ای از پروژه های iOS و macOS * مدیریت قدرتمند وابستگی ها برای پروژه های جاوا و اندروید * ساخت سریع و کارآمد * پشتیبانی از طیف گسترده ای از ویژگی های ساخت * مدیریت قدرتمند وابستگی ها برای پروژه های جاوا * ساخت سریع و کارآمد * ادغام با ابزارهای توسعه محبوب مانند Eclipse و IntelliJ IDEA * نصب و مدیریت آسان بسته های Go * طیف گسترده ای از ماژول ها در دسترس است * پشتیبانی از ساخت افزایشی
معایب * وابستگی به Node.js * مشکلات امنیتی بالقوه * کندی نسبی در مقایسه با برخی از مدیران بسته دیگر * وابستگی به Node.js * نیاز به فضای ذخیره سازی بیشتر برای نصب آفلاین * منحنی یادگیری شیب دارتر در مقایسه با برخی از مدیران بسته دیگر * محدود به زبان برنامه‌نویسی پایتون * محدود به پلتفرم .NET * محدود به زبان برنامه‌نویسی روبی * محدود به پروژه های iOS و macOS * منحنی یادگیری شیب دارتر در مقایسه با برخی از مدیران بسته دیگر * منحنی یادگیری شیب دارتر در مقایسه با برخی از مدیران بسته دیگر * محدود به زبان برنامه‌نویسی Go
پارامترهای اضافی * -g: نصب بسته به صورت جهانی * -save: اضافه کردن بسته به لیست وابستگی های پروژه * -save-dev: اضافه کردن بسته به لیست وابستگی های توسعه پروژه * --force: نادیده گرفتن خطاها و نصب اجباری بسته * -g: نصب بسته به صورت جهانی * --lockfile: ایجاد یا به‌روزرسانی فایل قفل بسته * --offline: نصب بسته ها در حالت آفلاین * require: نصب یک بسته خاص * install: نصب بسته ها * uninstall: حذف بسته ها * freeze: لیست کردن بسته های نصب شده * search: جستجو برای بسته ها * help: دریافت راهنمایی * install: نصب بسته ها * update: به‌روزرسانی بسته ها * uninstall: حذف بسته ها * restore: بازیابی بسته ها از یک فایل قفل * push: انتشار بسته ها به گالری NuGet * install: نصب بسته ها * uninstall: حذف بسته ها * gem: مدیریت بسته ها (مانند نصب، به‌روزرسانی، جستجو) * bundle: مدیریت وابستگی ها (مانند نصب، به‌روزرسانی) * server: راه اندازی سرور RubyGems * pod install: نصب وابستگی های CocoaPods * pod update: به‌روزرسانی وابستگی های CocoaPods * pod repo: مدیریت مخازن CocoaPods * pod search: جستجو برای بسته های CocoaPods * pod lint: بررسی کد بسته های CocoaPods * gradle build: ساخت پروژه * gradle test: اجرای تست های واحد * gradle clean: تمیز کردن پروژه * gradle init: ایجاد یک پروژه جدید * gradle publish: انتشار پروژه * mvn clean: تمیز کردن پروژه * mvn install: نصب پروژه * mvn test: اجرای تست های واحد * mvn debug: اشکال زدایی پروژه * mvn package: بسته بندی پروژه * go mod download: دانلود وابستگی ها * go mod go: ساخت پروژه * go mod verify: تأیید وابستگی ها * go mod edit: ویرایش فایل go.mod * go mod help: دریافت راهنمایی
منابع * وب سایت npm * مستندات npm * وب سایت yarn * مستندات yarn * وب سایت Composer * مستندات Composer * وب سایت Pip * مستندات Pip * وب سایت NuGet * وب سایت RubyGems * وب سایت CocoaPods * وب سایت Gradle * وب سایت Maven * مستندات Maven
کارکردها
  • نصب بسته‌ها
    • امکان نصب مجموعه بسته‌های دلخواه از منابع معتبر
  • به‌روزرسانی بسته‌ها
    • به‌روزرسانی بسته‌ها برای دریافت آخرین نسخه‌ها، اصلاحات امنیتی و ویژگی‌های جدید
  • حذف بسته‌ها
    • حذف بسته‌های برنامه‌نویسی غیرضروری برای آزادسازی فضای دیسک
  • مدیریت وابستگی‌ها
    • نصب و به‌روزرسانی خودکار وابستگی‌ها
    • حل تداخلات بین وابستگی‌ها
    • بررسی تطابق نسخه وابستگی‌ها
  • سازگاری پروژه
    • بررسی تطابق نسخه‌های مختلف بسته‌ها
    • اطمینان از صحت و سازگاری بسته‌ها با یکدیگر و با پروژه
  • به اشتراک‌گذاری با دیگران
    • امکان به اشتراک‌گذاری بسته‌های ساخته شده با دیگران
مراحل نصب
  • دانلود پکیج نرم‌افزار
    • دانلود نرم‌افزار مدیریت بسته (مانند npm، Yarn، Composer) به صورت باینری یا ابزار نصب
  • نصب نرم‌افزار
    • اجرای برنامه نصب یا کپی کردن باینری در محل مناسب
  • تنظیم مسیر سیستم (اختیاری)
    • تنظیم مسیر نرم‌افزار در متغیرهای محیطی سیستم برای برخی از نرم‌افزارها (مانند npm و Composer)
  • بررسی نصب
    • اجرای دستورات مربوطه برای تأیید صحت نصب نرم‌افزار مدیریت بسته
نکات
  • هر نرم‌افزار مدیریت بسته ممکن است دستورات و مراحل نصب و استفاده مختص به خود را داشته باشد.

نرم‌افزارهای مدیریت بسته چه می‌کنند و چگونه نصب می‌شوند؟

نرم‌افزارهای مدیریت بسته ابزاری قدرتمند برای توسعه‌دهندگان هستند که به آن‌ها در مدیریت آسان و کارآمد بسته‌های نرم‌افزاری مورد نیاز پروژه‌هایشان کمک می‌کنند. این نرم‌افزارها با ارائه امکاناتی مانند نصب، به‌روزرسانی، حذف و مدیریت وابستگی‌ها، به تسریع و ارتقای کیفیت فرآیند توسعه نرم‌افزار کمک می‌کنند.

عملکردهای اصلی نرم‌افزارهای مدیریت بسته

  • نصب و مدیریت بسته‌ها
    • نصب مجموعه بسته‌های دلخواه از منابع معتبر و مخازن مرکزی
    • به‌روزرسانی بسته‌ها برای دریافت آخرین نسخه‌ها، رفع اشکالات و بهره‌مندی از ویژگی‌های جدید
    • حذف بسته‌های غیرضروری جهت آزادسازی فضای دیسک
  • مدیریت وابستگی‌ها
    • نصب و به‌روزرسانی خودکار وابستگی‌های بسته‌ها
    • حل تداخلات بین وابستگی‌ها
    • بررسی تطابق نسخه وابستگی‌ها برای اطمینان از سازگاری
  • سازگاری پروژه
    • بررسی تطابق نسخه‌های مختلف بسته‌ها
    • تضمین صحت و سازگاری بسته‌ها با یکدیگر و با پروژه
  • به اشتراک‌گذاری با دیگران
    • امکان به اشتراک‌گذاری بسته‌های ساخته شده با سایر توسعه‌دهندگان

مراحل نصب نرم‌افزارهای مدیریت بسته

  1. دانلود پکیج نرم‌افزار
    • دانلود نرم‌افزار مدیریت بسته مورد نظر (مانند npm، Yarn، Composer) به صورت باینری قابل اجرا یا ابزار نصب
  2. نصب نرم‌افزار
    • بسته به نوع نرم‌افزار، اجرای برنامه نصب یا کپی کردن باینری در محل مناسب
  3. تنظیم مسیر سیستم (اختیاری)
    • برای برخی از نرم‌افزارها (مانند npm و Composer) تنظیم مسیر نرم‌افزار در متغیرهای محیطی سیستم جهت دسترسی آسان
  4. بررسی نصب 
    • اجرای دستورات مربوطه در ترمینال یا Command Prompt برای تأیید صحت نصب نرم‌افزار
توجه
  • هر نرم‌افزار مدیریت بسته ممکن است دستورات و مراحل نصب و استفاده مختص به خود را داشته باشد.
با استفاده از نرم‌افزارهای مدیریت بسته، توسعه‌دهندگان می‌توانند به طور موثرتری زمان و منابع خود را مدیریت کرده و پروژه‌های نرم‌افزاری باکیفیت و کارآمد را در سریع‌ترین زمان ممکن ارائه دهند.

بررسی روش‌های نصب Node.js  راهنمای جامع

در این بخش به طور جامع روش‌های مختلف نصب Node.js را بررسی می‌کنیم.

روش‌های کلی نصب Node.js

  1. استفاده از نصاب رسمی (Official Installer)
    • ارائه شده توسط Node.js برای سیستم‌عامل‌های مختلف
    • نصب نسخه Node.js به همراه npm
    • استفاده از دستورات گرافیکی ساده برای نصب
  2. استفاده از مدیر بسته (Package Manager)
    • نصب Node.js از طریق مدیر بسته سیستم‌عامل
    • نمونه‌ها  apt (دبیان)، yum (ردهت)، pacman (آرچ لینوکس)، chocolatey (ویندوز)، scoop (ویندوز)
  3. استفاده از مدیریت نسخه (Version Manager)
    • سوئیچ و مدیریت بین نسخه‌های مختلف Node.js
    • نمونه‌ها  nvm (لینوکس و مک)، n (لینوکس، مک و ویندوز)، volta، fnm
  4. استفاده از باینری‌های از پیش ساخته شده برای سیستم‌عامل (Prebuilt Binaries)
    • دانلود و نصب باینری‌های Node.js برای سیستم‌عامل‌های مختلف از وب سایت رسمی
    • بدون نیاز به کامپایل کد

مزایا و معایب هر روش

  • انتخاب روش مناسب به نیازها و سیستم عامل شما بستگی دارد.
  • برای اطلاعات دقیق و دستورات نصب هر روش، به مستندات رسمی Node.js مراجعه کنید.

تفاوت روش‌های دانلود و نصب

روش توضیح مزایا معایب
Package Manager نصب از طریق مدیر بسته سیستم مدیریت نسخه‌ها و به‌روزرسانی‌ها وابستگی به مدیر بسته
Prebuilt Installer نصب با استفاده از نصب‌کننده رسمی سادگی نصب عدم امکان مدیریت نسخه‌ها به طور کامل
Prebuilt Binaries استفاده از باینری‌های آماده بدون نیاز به نصب‌کننده عدم به‌روزرسانی خودکار
Source Code کامپایل کد منبع دسترسی کامل به کد نیاز به دانش فنی و زمان بیشتر

انتخاب روش مناسب

  • آسان‌ترین روش  استفاده از نصاب رسمی یا مدیر بسته
  • مدیریت نسخه‌ها  استفاده از مدیریت نسخه
  • سرعت بالا  استفاده از باینری‌های از پیش ساخته شده
  • تخصص  کامپایل کد منبع

نکته

  • هر روش مراحل و دستورات خاص خود را دارد.
  • برای اطلاعات دقیق، به مستندات رسمی Node.js مراجعه کنید.
با درک این موارد، می‌توانید روش مناسب برای نصب Node.js را با توجه به نیازها و سیستم عامل خود انتخاب کنید.

مقایسه پکیج منیجرهای Node.js با پکیج منیجرهای عمومی

در این بخش، به مقایسه پکیج منیجرهای خاص Node.js مانند nvm و fnm با پکیج منیجرهای عمومی مانند brew، chocolatey و docker می‌پردازیم.

پکیج منیجرهای Node.js

  • nvm (Node Version Manager)
    • عملکرد  مدیریت و سوئیچ بین نسخه‌های مختلف Node.js
    • قابلیت‌ها  انتخاب نسخه، اینستال، استفاده از نسخه فعلی، تنظیمات پروژه
    • سیستم عامل  لینوکس، macOS
  • fnm (Fast Node Manager)
    • عملکرد  مدیریت و سوئیچ سریع و سبک بین نسخه‌های Node.js
    • قابلیت‌ها  سوئیچ نسخه‌ها، نصب، استفاده از نسخه فعلی
    • سیستم عامل  لینوکس، macOS، ویندوز

پکیج منیجرهای عمومی

  • brew (Homebrew)
    • عملکرد  پکیج منیجر اصلی macOS، قابلیت نصب Node.js را نیز دارد
    • قابلیت‌ها  نصب و مدیریت بسته‌های نرم‌افزاری در macOS
    • سیستم عامل  macOS
  • chocolatey
    • عملکرد  پکیج منیجر برای ویندوز، قابلیت نصب Node.js را نیز دارد
    • قابلیت‌ها  نصب و مدیریت بسته‌های نرم‌افزاری در ویندوز
    • سیستم عامل  ویندوز
  • docker
    • عملکرد  پلتفرم مجازی‌سازی برای ایجاد و مدیریت کانتینرهای نرم‌افزاری
    • قابلیت‌ها  اجرای Node.js در محیط کانتینر
    • سیستم عامل  لینوکس، macOS، ویندوز

انتخاب پکیج منیجر مناسب

  • آسان‌ترین روش  استفاده از پکیج منیجر رسمی Node.js یا پکیج منیجر سیستم عامل
  • مدیریت نسخه‌ها  استفاده از پکیج منیجرهای Node.js مانند nvm یا fnm
  • سرعت بالا  استفاده از پکیج منیجرهای Node.js مانند fnm
  • تخصص  استفاده از Docker برای جداسازی محیط‌های Node.js

نکات

  • هر پکیج منیجر دستورات و تنظیمات خاص خود را دارد.
  • برای اطلاعات دقیق، به مستندات رسمی هر پکیج منیجر مراجعه کنید.

مدیریت بسته در سیستم عامل‌های مختلف

  • Debian/Ubuntu  apt (apt-get, apt)
  • Red Hat/CentOS/Fedora  yum (yum install, yum remove)
  • Arch Linux/Manjaro  pacman (pacman -S, pacman -R)
  • macOS  brew (brew install, brew remove) (Homebrew)
  • Windows  Chocolatey (choco install), Scoop (scoop install)

لیست پکیج منیجرهای لینوکس

  • APT (Advanced Package Tool)
  • YUM (Yellowdog Updater, Modified)
  • DNF (Dandified YUM)
  • Zypper
  • Pacman
  • Portage
  • Nix Package Manager
  • Snap Package Manager
  • Flatpak

پکیج منیجرهای اوبونتو

  • APT (Advanced Package Tool)
  • Snap
  • Dpkg

نکته

  • پکیج منیجرهای لینوکس معمولا نسخه‌های قدیمی‌تر و LTS Node.js را ارائه می‌دهند.
  • برای نصب نسخه‌های جدیدتر، از پکیج منیجرهای Node.js مانند nvm یا fnm استفاده کنید.
با درک این موارد، می‌توانید پکیج منیجر مناسب خود را برای نصب و مدیریت Node.js در سیستم عامل خود انتخاب کنید.

مقایسه پکیج منیجرهای محبوب: راهنمای جامع برای انتخاب بهترین ابزار (نسخه کامل با آمار)

نوع مدیر بسته سیستم عامل عملکرد قابلیت‌ها مزایا معایب پارامترهای اضافی تعداد تقریبی بسته‌ها/کتابخانه‌ها
nvm (Node Version Manager) لینوکس، macOS مدیریت و سوئیچ بین نسخه‌های Node.js انتخاب نسخه، نصب، استفاده از نسخه فعلی، تنظیمات پروژه - نصب آسان و سریع- سوییچ آسان بین نسخه‌ها- سازگاری با اکثر پروژه‌های Node.js - فقط برای Node.js - سازگاری با IDE ها: اکثر IDE های محبوب- جامعه کاربری: بزرگ و فعال 800+ نسخه Node.js
fnm (Fast Node Manager) لینوکس، macOS، ویندوز مدیریت و سوئیچ سریع و سبک بین نسخه‌های Node.js سوئیچ نسخه‌ها، نصب، استفاده از نسخه فعلی - نصب و سوئیچ سریع بین نسخه‌ها- رابط کاربری ساده- پشتیبانی از ویندوز - قابلیت‌های محدودتر نسبت به nvm - سرعت نصب و سوئیچ: به طور قابل توجهی سریعتر از nvm- رابط کاربری: ساده و مینیمالیستی 650+ نسخه Node.js
brew (Homebrew) macOS مدیر بسته macOS نصب و مدیریت بسته‌های نرم‌افزاری - نصب آسان و سریع طیف گسترده‌ای از نرم‌افزارها- رابط کاربری ساده- محبوبیت بالا در بین کاربران macOS - فقط برای macOS - تعداد بسته‌ها: بیش از 250,000- ادغام با macOS: کامل 250,000+ بسته
chocolatey ویندوز مدیر بسته ویندوز نصب و مدیریت بسته‌های نرم‌افزاری - نصب آسان و سریع طیف گسترده‌ای از نرم‌افزارها در ویندوز- رابط کاربری ساده- جایگزینی مناسب برای ابزارهای سنتی ویندوز - فقط برای ویندوز - سازگاری با ابزارهای سنتی ویندوز: سازگار- جامعه کاربری: فعال 80,000+ بسته
Docker لینوکس، macOS، ویندوز پلتفرم مجازی‌سازی مدیریت کانتینرهای Node.js - جداسازی محیط‌های Node.js- قابلیت حمل‌پذیری بالا- مقیاس‌پذیری آسان - پیچیدگی بیشتر نسبت به سایر ابزارها- نیاز به دانش فنی بیشتر - امنیت: بالا- مقیاس‌پذیری: آسان تعداد نامحدود (بسته‌ها در تصاویر Docker)
APT (Advanced Package Tool) Debian/Ubuntu مدیر بسته پیش‌فرض نصب و مدیریت بسته‌های نرم‌افزاری - نصب آسان و سریع از مخازن رسمی- ادغام با سیستم عامل- پایداری بالا - تنوع نسخه Node.js محدودتر - پایداری: بالا- سهولت استفاده: آسان 23,000+ بسته در مخزن اصلی، + مخازن شخص ثالث
YUM (Yellowdog Updater, Modified) Red Hat/CentOS/Fedora مدیر بسته پیش‌فرض نصب و مدیریت بسته‌های نرم‌افزاری - نصب آسان و سریع از مخازن رسمی- ادغام با سیستم عامل- پایداری بالا - تنوع نسخه Node.js محدودتر - پایداری: بالا- سهولت استفاده: آسان 18,000+ بسته در مخزن اصلی، + مخازن شخص ثالث
DNF (Dandified YUM) Fedora جانشین YUM نصب و مدیریت بسته‌های نرم‌افزاری - سرعت و کارایی بیشتر نسبت به YUM- سازگاری با مخازن YUM - در حال توسعه، ممکن است در همه توزیع‌های Fedora جایگزین YUM نشده باشد - سرعت: بیشتر از YUM- سازگاری: با مخازن YUM 18,000+ بسته در مخازن YUM، + مخازن شخص ثالث
Zypper openSUSE مدیر بسته پیش‌فرض نصب و مدیریت بسته‌های نرم‌افزاری - رابط کاربری گرافیکی و خط فرمان- سرعت بالا- ادغام با سیستم عامل - محبوبیت کمتر

2. Prebuilt Installer (نصب‌کننده آماده):

روش نصب Node.js با استفاده از Prebuilt Installer (نصب‌کننده از پیش آماده شده) اجازه می‌دهد Node.js را به راحتی و با استفاده از یک نصب‌کننده گرافیکی نصب کنید. این روش بسیار ساده‌تر از سایر روش‌های نصب است و به شما امکان می‌دهد Node.js را بدون نیاز به دانش فنی عمیق در زمینه کامپایل و پیکربندی نصب کنید. در زیر، راهنمایی کلی برای نصب Node.js با استفاده از Prebuilt Installer را ارائه می‌دهم:
  1. ابتدا به صفحه دانلود Node.js در وبسایت رسمی Node.js به آدرس https://nodejs.org بروید.
  2. در این صفحه، دو نسخه اصلی برای دانلود وجود دارد: نسخه پیشنهادی و نسخه LTS (Long-Term Support). نسخه LTS به عنوان نسخه پایدارتر و با پشتیبانی بیشتر توصیه می‌شود. شما می‌توانید نسخه مورد نظر خود را انتخاب کنید.
  3. بستهٔ نصب برای سیستم عامل خود را دانلود کنید. هر سیستم عامل ممکن است بستهٔ مخصوص به خود را داشته باشد که توجه کنید نسخه مطلوب برای سیستم عامل خود را انتخاب کنید.
  4. پس از دانلود، فایل نصب را اجرا کنید. با اجرای آن، نصب‌کننده گرافیکی و رابط کاربری خواهد آمد که مراحل نصب را به شما نشان خواهد داد.
  5. در حین نصب، اطلاعات لازم را وارد کنید. این ممکن است شامل مجوزها، محل نصب و تنظیمات دیگر باشد.
  6. پس از اتمام نصب، باز کردن ترمینال یا خط فرمان و وارد کردن دستور node -v می‌توانید ورژن نصب شده از Node.js را بررسی کنید.

نکات مهم:

  • همیشه از منابع رسمی و قابل اعتماد برای دانلود Prebuilt Installer استفاده کنید. به وبسایت رسمی Node.js بروید تا از آخرین نسخه و منابع معتبر استفاده کنید.
  • در هر مرحله از نصب، دقت کنید و دستورالعمل‌ها را دقیقاً دنبال کنید.
  • پیش از اجرای فایل نصب، اطمینان حاصل کنید که سیستم شما برای اجرای آن آماده است. برخی نصب‌کنندگان ممکن است نیازمندی‌های خاصی داشته باشند که باید قبل از نصب موجود باشند.
  • در صورت وجود مشکل در نصب با استفاده از Prebuilt Installer، ممکن است نیاز داشته باشید به راهنمایی‌ها سایت اصلی مراجعه کنید.

جدول فرمت فایل و نحوه نصب در سیستم عامل های مختلف

سیستم عامل فرمت فایل اجرایی نحوه نصب
ویندوز .exe یا .msi - برای .exe: دابل کلیک و دنبال کردن مراحل نصب - برای .msi: دابل کلیک و دنبال کردن مراحل نصب
macOS .dmg یا .pkg - برای .dmg: دابل کلیک، سپس کشیدن فایل برنامه به پوشه Applications - برای .pkg: دابل کلیک و دنبال کردن مراحل نصب
لینوکس متغیر (بسته به توزیع) - استفاده از مدیر بسته سیستم (مانند APT, DNF, Yum) - مثال: در اوبونتو: sudo apt update && sudo apt install nodejs

 لینوکس اینستالر گرافیکی ندارد

در بسیاری از توزیع‌های لینوکس، نصب کردن بسته‌ها و نرم‌افزارها از طریق اینستالر گرافیکی (مانند فایل EXE در ویندوز) توسط سیستم عامل پشتیبانی نمی‌شود. در عوض، در توزیع‌های بسیاری از لینوکس، استفاده از مدیر بسته یا پکیج منیجر استانداردی است که امکان نصب، بروزرسانی و حذف بسته‌ها را به صورت خط فرمانی فراهم می‌کند.

3. Prebuilt Binaries (دودویی‌های آماده):

نصب Node.js با استفاده از Prebuilt Binaries (باینری‌های از پیش راه‌اندازی شده) به شما اجازه می‌دهد Node.js را به راحتی و بدون نیاز به کامپایل کد، نصب کنید. در این روش، شما فقط نسخه‌های باینری آمادهٔ Node.js را دریافت و نصب می‌کنید. در زیر، مراحل کلی نصب Node.js با استفاده از Prebuilt Binaries را توضیح می‌دهم:
  1. از وبسایت رسمی Node.js به آدرس https://nodejs.orgبروید.
  2. در صفحه اصلی، نسخهٔ پیشنهادی یا نسخهٔ LTS (Long-Term Support) را برای دانلود انتخاب کنید.
  3. بستهٔ دانلود برای سیستم عامل خود (مثلاً Windows، macOS یا Linux) را دریافت کنید.
  4. فایل دانلود شده را اجرا کنید (باینری) و دستورالعمل‌های نصب را دنبال کنید.
  5. در هنگام نصب، مسیر نصب را دقیقاً بررسی کنید و محل نصب را به دقت انتخاب کنید.
  6. پس از اتمام نصب، باز کردن ترمینال یا خط فرمان و وارد کردن دستور node -v می‌توانید ورژن نصب شده از Node.js را بررسی کنید.

نکات :

  • مطمئن شوید که از منابع رسمی و قابل اعتماد برای دانلود Prebuilt Binaries استفاده می‌کنید. بهترین منبع برای دانلود Prebuilt Binaries، وبسایت رسمی Node.js است.
  • بسته به سیستم عامل استفاده شده، نیازمندی‌های قبلی ممکن است تغییر کند. برای مطالعه و آگاهی از نیازمندی‌های قبلی، به منابع رسمی Node.js مراجعه کنید.
  • در صورتی که نیاز به نصب دستگاه‌های اضافی (مانند Python) برای کامپایل باینری دارید، مطمئن شوید که نسخه و نصب صحیح آنها را دارید.
  • هنگام نصب، می‌توانید تنظیمات اضافی را شخصی سازی کنید، اما برخی از تنظیمات پیش‌فرض باعث بهینه‌سازی بهتری می‌شوند.
  • در صورت تمایل، می‌توانید سپس npm (Node Package Manager) را به طور جداگانه نصب کنید تا بتوانید بسته‌ها و ماژول‌های جاوااسکریپت را به پروژه خود اضافه کنید.

4. Source Code (کد منبع):

نصب Node.js با استفاده از Source Code (کد منبع) به معنای دریافت کد منبع Node.js از منبع آن (مانند مخزن Git) و کامپایل کد بر روی سیستم عامل است. در زیر، روش عمومی نصب Node.js با استفاده از Source Code را توضیح می‌دهم و نکاتی که باید در نظر گرفته شوند را بررسی می‌کنم:

مراحل نصب Node.js با استفاده از Source Code:

  1. دریافت کد منبع: دستگاه خود را برای دریافت کد منبع Node.js آماده کنید. برای این کار، می‌توانید از Git استفاده کنید و کد را به صورت ریپازیتوری Git کلون کنید.
  2. محل نصب: پوشه مقصد برای نصب را بررسی کنید و همچنین دسترسی لازم برای نصب در آن محل را داشته باشید.
  3. ساخت و کامپایل: وارد پوشه کد منبع شده و دستورات نصب را برای نصب Node.js اجرا کنید. این می‌تواند شامل دریافت وابستگی‌ها، تنظیمات پیش‌فرض، کامپایل کد و غیره باشد.
  4. تنظیم متغیرهای محیطی: پس از کامپایل و نصب، تنظیم متغیرهای محیطی مرتبط با Node.js را بررسی کنید. این شامل مسیرهای PATH و متغیرهای دیگری است که شناسایی و قابل دسترس باشند.
  5. تست نصب: بعد از اتمام نصب، تست‌های مختلفی برای اطمینان از نصب صحیح Node.js انجام دهید. برای مثال، با اجرای دستور node -v می‌توانید ورژن نصب شده را بررسی کنید.

نکات :

  • نصب Node.js از Source Code نیازمند دانش و تجربه کامپایل کد و مدیریت سیستم است.
  • هنگام نصب با استفاده از Source Code، توجه کنید که نیازمندی‌های وابسته را بررسی کنید و بسته‌های مورد نیاز را قبل از نصب فعلی نصب کنید.
  • همچنین، ممکن است نیاز به اجرای دستورات و رفتارهای سفارشی برای بهره‌برداری از قابلیت‌های خاص Node.js داشته باشید.
  • توصیه می‌شود که همیشه از منابع رسمی و قابل اعتماد برای دریافت کد منبع Node.js استفاده کنید.
  • بررسی و دنبال کردن آخرین دستورالعمل‌های نصب موجود در منابع رسمی Node.js می‌تواند اطمینان حاصل کننده باشد.
  • به دلیل پیچیدگی و نیازمندی‌های زیاد، استفاده از Prebuilt Binaries یا نصب با استفاده از مدیر بسته معمولاً برای برنامه نویسان استفاده میشود.