عن المشروع

# مدير إصدارات Node (nvm) مدير إصدارات لـ [node.js](https://nodejs.org/en/) مصمم للتثبيت حسب المستخدم والاستدعاء حسب الـ shell. يعمل `nvm` على أي shell متوافق مع POSIX (sh, dash, ksh, zsh, bash) على أنظمة unix وmacOS وWindows WSL. ## ماذا يفعل يسمح لك nvm بتثبيت والتبديل بسرعة بين إصدارات مختلفة من Node.js عبر سطر الأوامر. يقوم بتنزيل الثنائيات الجاهزة عند توفرها، أو ي编译 من المصدر إذا لم يكن هناك ثنائيات لمنصتك. ## التثبيت الطريقة الموصى بها هي تشغيل نص التثبيت: ```sh curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.7/install.sh | bash ``` كبديل، يمكنك استنساخ المستودع إلى `~/.nvm` وتشغيل `nvm.sh` من ملف إعدادات الـ shell الخاص بك. ## الأوامر الرئيسية - `nvm install <version>` — تنزيل وتثبيت إصدار محدد من Node.js (مثل `nvm install 22`، `nvm install node` للأحدث) - `nvm use <version>` — تبديل إصدار Node.js النشط في الـ shell الحالي - `nvm ls` / `nvm ls-remote` — عرض الإصدارات المثبتة / المتاحة - `nvm alias default <version>` — تعيين إصدار افتراضي للـ shells الجديدة - `nvm exec <version> <command>` — تشغيل أمر بإصدار محدد من Node.js دون التبديل - `nvm which <version>` — الحصول على المسار إلى ملف Node قابل للتشغيل - `nvm reinstall-packages --reinstall-packages-from=<from>` — ترحيل حزم npm العالمية بين الإصدارات ## دعم الإصدارات طويلة الأمد (LTS) يعترف nvm بخطوط دعم Node.js طويلة الأمد: - `lts/*` — أحدث إصدار LTS - `lts/argon`, `lts/hydrogen`، إلخ — اسم رمز محدد لـ LTS الاستخدام: `nvm install lts/*` أو `nvm use 'lts/argon'` ## تكامل .nvmrc تعلن ملفات `.nvmrc` الموجودة في جذر المشروع عن إصدار Node.js المطلوب. يمكن لـ nvm تفعيله تلقائياً عبر ربط الـ shell في bash أو zsh أو واجهات fish المتوافقة. ## الاستخدام مع Docker يمكن تثبيت nvm في حاويات Docker عن طريق تشغيل `nvm.sh` عبر `BASH_ENV`، مما يتيح الاستخدام التفاعلي وغير التفاعلي (مثل خطوط أنابيب CI/CD). ## القيود - لا يدعم رسمياً shell Fish (توجد بدائل مجتمعية) - لا توجد ثنائيات جاهزة رسمياً لـ FreeBSD؛ قد يتطلب التجميع تصحيحات - تثبيت Homebrew غير مدعوم؛ يجب على المستخدمين إلغاء التثبيت والتبعّل التعليمات الرسمية - على أجهزة Mac بشريحة Apple Silicon، استخدم Node v16.0.0+ لدعم الثنائيات arm64 الأصلية