التبديل بين المشاريع
إحدى المزايا الرئيسية لـ Volta هي معالجته السلسة لإصدارات الأدوات المختلفة في المشاريع المختلفة. تشرح هذه الصفحة كيفية إدارة Volta تلقائيًا لبيئة JavaScript الخاصة بك عند الانتقال بين المشاريع.
التبديل التلقائي للإصدارات
على عكس مديري الإصدارات الأخرى التي تتطلب منك التبديل يدويًا بين إصدارات الأدوات، يتعامل Volta مع هذا تلقائيًا بناءً على دليلك الحالي.
كيف يعمل
- عند تشغيل أوامر JavaScript (مثل
node
أوnpm
أو ملفات الحزم الثنائية)، تعترض shims Volta الأمر - يتحقق Volta من دليلك الحالي ليرى ما إذا كنت في مشروع بإصدارات أدوات مثبتة
- إذا كان الأمر كذلك، يستخدم Volta الإصدارات المثبتة في
package.json
للمشروع - إذا لم تكن في مشروع بإصدارات مثبتة، يستخدم Volta أدواتك الافتراضية
كل هذا يحدث بشفافية، دون أي أوامر إضافية.
مثال على سير العمل
تخيل أن لديك مشروعين بمتطلبات Node.js مختلفة:
المشروع A (~/projects/project-a/package.json
):
{
"volta": {
"node": "14.19.1",
"npm": "6.14.16"
}
}
المشروع B (~/projects/project-b/package.json
):
{
"volta": {
"node": "16.14.2",
"npm": "8.5.0"
}
}
قد يكون سير عملك كالتالي:
# في المشروع A
cd ~/projects/project-a
node --version # يعرض v14.19.1
npm --version # يعرض v6.14.16
# التبديل إلى المشروع B
cd ~/projects/project-b
node --version # يعرض تلقائيًا v16.14.2
npm --version # يعرض تلقائيًا v8.5.0
# خارج أي مشروع
cd ~
node --version # يعرض إصدار Node الافتراضي الخاص بك
المشاريع المتداخلة
إذا كان لديك مشاريع متداخلة، سيستخدم Volta إصدارات الأدوات من أقرب package.json
يحتوي على قسم volta
.
مثال:
/parent-project/package.json (به قسم volta، node@14)
/parent-project/child-project/package.json (به قسم volta، node@16)
/parent-project/other-directory/ (لا يوجد package.json)
إذا شغلت أوامر في:
/parent-project/child-project/
- يستخدم Volta Node.js 16/parent-project/other-directory/
- يستخدم Volta Node.js 14/parent-project/
- يستخدم Volta Node.js 14
ملفات الحزم الثنائية
التبديل التلقائي لـ Volta ينطبق أيضًا على ملفات الحزم الثنائية. على سبيل المثال، إذا كان لديك إصدار محدد من TypeScript للمشروع وشغلت tsc
، يضمن Volta استخدام الإصدار الصحيح.
الحزم العالمية مقابل المحلية
عندما تشغل ملف حزمة ثنائي:
- إذا كان الملف الثنائي موجود في
node_modules/.bin/
للمشروع، يستخدم Volta هذا الإصدار - إذا لم يكن موجودًا، ولكن تم تثبيت الحزمة عالميًا عبر Volta، يستخدم هذا الإصدار
- وإلا، يعرض خطأ عدم العثور على الأمر
استكشاف الأخطاء وإصلاحها
إذا واجهت مشاكل في تبديل الإصدارات:
- تحقق من وجود قسم
volta
فيpackage.json
لمشروعك - شغل
volta list all
لفحص الأدوات التي ثبتتها - تحقق من تثبيت الأداة المطلوبة لمشروعك أو كإصدار افتراضي
- شغل
volta which node
لرؤية إصدار Node.js الذي يستخدمه Volta ولماذا