Skip to content

فهم Volta

كيف يعمل Volta

يدير Volta أدوات سطر الأوامر JavaScript الخاصة بك من خلال إنشاء shims توجه إلى الإصدار الصحيح بناءً على دليلك الحالي. هذا يسمح للمشاريع المختلفة باستخدام إصدارات مختلفة من نفس الأداة دون أي تكوين إضافي.

نظام الـ Shims

عندما تثبت Volta، يضيف مجموعة صغيرة من الـ shims إلى PATH الخاص بك:

  • shim واحد لـ node
  • shim واحد لكل مدير حزم (npm، yarn، pnpm إلخ)
  • shim واحد لكل حزمة عالمية تثبتها

هذه الـ shims هي ملفات قابلة للتنفيذ صغيرة تحدد الإصدار الفعلي للأداة المراد تشغيلها من خلال:

  1. فحص ما إذا كنت في مشروع بإصدارات أدوات مثبتة
  2. إذا لم يتم العثور على إصدار محدد للمشروع، فاستخدم الإصدار الافتراضي الخاص بك

الإصدارات المحددة للمشروع

يخزن Volta متطلبات أدوات المشروع في قسم volta من ملف package.json الخاص بك:

json
{
  "volta": {
    "node": "16.15.1",
    "npm": "8.11.0"
  }
}

عندما تشغل أمرًا في دليل بهذا التكوين، يضمن Volta تلقائيًا استخدامك لهذه الإصدارات الدقيقة.

الإصدارات الافتراضية

للمواقع خارج المشاريع ذات الإصدارات المثبتة، يستخدم Volta أدواتك الافتراضية. يمكنك تعيين هذه باستخدام الأوامر التالية:

bash
volta install node@16.15.1
volta install npm@8.11.0

لماذا تختار Volta؟

بيئة متناسقة

يضمن Volta استخدام الجميع الذين يعملون على المشروع نفس سلسلة الأدوات تمامًا، مما يزيل مشاكل "يعمل على جهازي".

صفر نفقات عامة

على عكس مديري الإصدارات الأخرى، لا يحتاج Volta إلى أوامر إضافية لتبديل الإصدارات عند تغيير المشاريع. يحدث هذا تلقائيًا أثناء تصفح نظام الملفات.

أداء سريع

مبني بـ Rust، تم تصميم Volta للسرعة. هندسة الـ shims تعني حد أدنى من النفقات العامة عند تشغيل أدوات JavaScript.

تكامل سلس

يعمل Volta مع سير عمل تطوير JavaScript الموجود لديك، دون الحاجة لتغيير عاداتك أو عملياتك.

سير العمل الشائع

بدء مشروع جديد

bash
# إنشاء دليل وإعداد الحزمة
mkdir my-project && cd my-project
npm init -y

# تثبيت إصدارات Node.js و npm
volta pin node@16
volta pin npm@8

# تثبيت التبعيات
npm install express

المساهمة في مشروع موجود

bash
# استنساخ المستودع
git clone https://github.com/example/project.git
cd project

# إذا كان المشروع يحتوي على تكوين volta في package.json،
# سيتم استخدام الأدوات الصحيحة تلقائيًا

# إذا لم يكن كذلك، يمكنك إضافتها
volta pin node@14

تثبيت الأدوات العالمية

bash
# تثبيت حزمة عالمية
volta install typescript

# الآن يمكنك استخدامها من أي مكان
tsc --version