برای نصب Node.js ابتدا نسخه دقیق سیستمعامل را مشخص کنید. CentOS Linux 7 و 8 به پایان عمر رسیدهاند؛ CentOS Stream محصولی با چرخه عمر متفاوت است. راهاندازی پروژه تازه روی سیستم منقضی حتی با Node جدید انتخاب مناسبی نیست. نمونه این راهنما برای حساب توسعهدهنده روی یک توزیع فعال و سازگار از خانواده RHEL است؛ Node.js 24 در زمان بازبینی شاخه LTS است.
بسته سیستم یا nvm؟
بسته سیستم برای مدیریت متمرکز و وصلههای توزیع مناسب است؛ nvm نسخه را در حساب همان کاربر مدیریت میکند و برای چند پروژه با نیازهای متفاوت کاربرد دارد. این دو را بیبرنامه ترکیب نکنید. سرویس systemd محیط shell تعاملی را خودکار به ارث نمیبرد؛ مسیر Node در سرویس باید مشخص باشد.
نصب قابل بررسی nvm
با کاربر غیر root و در Bash اجرا کنید. ابتدا اسکریپت نسخه مشخص از مخزن رسمی پروژه را دریافت و محتوای آن را بررسی کنید؛ سپس همان فایل را اجرا کنید. این فرمانها برای سایت شما اجرا نشدهاند.
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh -o nvm-install.sh
less nvm-install.sh
bash nvm-install.sh
یک shell تازه باز کنید یا فایل profile تغییرکرده توسط نصاب را بارگذاری کنید؛ سپس آمادهبودن تابع nvm را بسنجید. اگر پیدا نشد، مسیر نصب و profile همین حساب را بررسی کنید، نه اینکه با sudo دوباره نصب کنید.
command -v nvm
nvm install 24
nvm use 24
nvm alias default 24
node --version
npm --version
آمادهسازی پروژه
در پوشه پروژه، نسخه هدف را در .nvmrc ثبت کنید و فایل lock وابستگی را در کنترل نسخه نگه دارید. اگر lock موجود و معتبر است، npm ci برای نصب تکرارپذیر مناسب است؛ حذف lock برای رفع هر خطا، وابستگیها را بیصدا تغییر میدهد. بستههای npm میتوانند اسکریپت نصب اجرا کنند؛ منبع پروژه را پیش از نصب بررسی کنید.
استقرار و کنترل نتیجه
- برنامه را با حساب محدود اجرا کنید و Node را فقط برای گرفتن پورت 80 با root اجرا نکنید.
- برای سرویس عمومی، reverse proxy، TLS، مدیریت فرایند و ثبت لاگ لازم است؛ nvm بهتنهایی سرویس تولید نمیسازد.
- نسخه node داخل سرویس و shell را مقایسه کنید و پس از تغییر، راهاندازی مجدد و درخواست سلامت را بیازمایید.
اگر CentOS 7 دارید
ابتدا برنامه و وابستگیهای native را در مقصد پشتیبانیشده بازسازی و آزمایش کنید. کپی node_modules بین دو سیستم با کتابخانههای متفاوت قابل اتکا نیست. انتقال فایل، تنظیمات و داده را با برنامه بازگشت انجام دهید؛ استفاده از باینری قدیمی برای دورزدن خطای glibc، مشکل پایان عمر را حل نمیکند.
مطالعه مرتبط
منابع و مستندات
بازبینی محتوا و منابع: ۲۶ مهر ۱۴۰۵. دستورهای نمونه برای محیط مشخصشدهاند؛ پیش از استفاده روی سرویس عملیاتی، سازگاری محیط و نسخه پشتیبان را بررسی کنید.