برای نصب پکیجهای npm به صورت آفلاین برای هر سیستم عامل چندین راه وجود داره. تو این مطلب نصب PM2 در ویندوزی که به اینترنت دسترسی نداره بررسی میشه.
درسته که عنوان مطلب نصب بدون اینترنت هستش اما منظور نصب در دستگاهیه که به اینترنت دسترسی نداره (مثلا سرورهای شبکه داخلی) و ما به واسطه ssh، فلش مموری، ftp یا هر طریق دیگهای میتونیم فایلها رو از دستگاه مبدا (دسترسی به اینترنت داره) به دستگاه مقصد (بدون اینترنت) منتقل کنیم.
دانلود Node.js
ابتدا نیاز به نصب node و npm در دستگاه مقصد داریم که میتونید از مطلب "نصب و راهاندازی Node.js" برای نصب Node.js کمک بگیرید. به طور خلاصه کافیه به صفحه دانلود سایت Node.js برید و فایل نصبی Node.js مورد نظرتون رو انتخاب کنید (ورژن پیشنهادی ورژن زوج یکی مونده به آخری هستش). بعد از دانلود، فایل رو به دستگاه مقصد منتقل کنید و فایل installer رو اجرا کنید. بعد از نصب با اجرای دستورات node -v
و npm -v
از نصب Node.js مطمئن بشید.
دانلود PM2
برای دانلود و نصب PM2 دو روش ۱- استفاده از npm link و ۲- نصب به صورت global رو توضیح میدم.
استفاده از npm link به ما اجازه میده فایلهای مورد نیاز PM2 رو هرجایی که بخوایم ذخیره کنیم ولی دستور npm link با همه ویندوزها و دسترسیها قابل اجرا نیست و در مقابل از روش global استفاده میشه که فایلها در پارتیشن سیستم عامل و مسیر AppData/Roaming ذخیره میشن و اگر پوشه npm پاک (clean) نباشه ایجاد دردسر میکنه.
استفاده از npm link
با استفاده از دستورات زیر، فایلهای مورد نیاز PM2 رو داخل پوشه pm2-only (نام دلخواه) در مسیری که هستید دانلود کنید:
mkdir pm2-only
cd pm2-only
npm init -y
npm i pm2
کل محتویات این پوشه رو zip و به دستگاه مقصد منتقل کنید.
بعد از انتقال به دستگاه مقصد باید یه مسیر برای نصب PM2 در نظر بگیرید و فایل zip رو اونجا اکسترکت کنید. حالا کافیه برید داخل پوشه node_modules
و پوشه pm2 رو پیدا کنید، داخل پوشه pm2 دستور npm link
رو اجرا کنید و در صورتی که خطا نداد ستاپ تکمیل شده و میتونید دستور pm2 -v
رو برای مشاهده ورژن نصبی اجرا کنید.
نصب به صورت global
تو این روش، کامپیوتر مبدا نباید پکیج global داشته باشه وگرنه تفکیک فایلهای مورد نیاز PM2 با پکیجهای دیگه سخته و مجبور میشیم فایلهای اضافی هم به دستگاه مقصد منتقل کنیم. البته میشه به صورت موقت تمام فایلهای نصبی فعلی رو جابجا هم کرد. اگر ویندوز داخل پارتیشن C نصب شده باشه و کاربر فعلی DigitalFlow باشه ما کلا با مسیر C:\Users\DigitalFlow\AppData\Roaming\npm
کار داریم. اگر داخل این فولدر npm رو ندارید ینی پکیجی به صورت global نصب نکردید، در غیر این صورت بهتره این فولدر رو موقتا rename کنید.
حالا کافیه دستور npm i -g pm2
رو اجرا کنید تا PM2 به صورت global روی دستگاه مبدا نصب بشه. بعد از نصب موفق و بدون خطا برید به آدرسی که بالاتر مشخص شده و باید یه فولدر node_modules
و تعدادی فایل که اسمشون با PM2 شروع میشه ببینید. تمام این فایلها و فولدر رو zip و به دستگاه مقصد منتقل کنید.
تو این مرحله محل اسکترکت کردن zip مهمه و باید داخل پوشه AppData/Roaming/npm
دستگاه مقصد انجام بشه. اگر پوشه npm وجود نداره اون رو دستی ایجاد کنید. در نهایت داخل پوشه npm باید پوشه node_modules و فایلهایی که با پیشوند pm2 شروع میشن رو داشته باشید.
نصب تو این مرحله به اتمام رسیده اما برای اینکه بتونیم از دستور PM2 تو هر مسیری در cmd استفاده کنیم باید مسیر پوشه npm رو داخل environment سیستم عامل اضافه کنیم. برای مثال در ویندوز ۱۰ سرچ کنید env و وارد Edit the system environment variables بشید و روی دکمه Environment Variables کلیک کنید؛ متغیر Path رو ویرایش و مقدار C:\Users\SomeUserName\AppData\Roaming\npm
رو اضافه کنید (مقدار SomeUserName رو به نام کاربری دستگاه مقصد تغییر بدید).