ودع فوضى إصدارات Flutter! كيف تُثبّت وتُغير بين الإصدارات بنقرة واحدة؟ (FVM بالتفصيل)
Flutter FVM هي أداة مجانية مفتوحة المصدر مصممة لتسهيل إدارة إصدارات Flutter SDK (مجموعة تطوير البرامج) المختلفة على جهازك. يتيح لك FVM التبديل بسهولة بين الإصدارات، وتثبيت الإصدارات الجديدة، وتعيين إصدارات محددة لمشاريع Flutter الفردية، كل ذلك باستخدام واجهة سطر أوامر بسيطة (CLI).
لماذا نستخدم Flutter FVM؟
1. إصدارات متعددة:
تجنب التعارضات: باستخدام FVM، يمكنك تشغيل مشاريع Flutter بإصدارات SDK مختلفة دون القلق بشأن التداخل أو التعارضات.
الإصدار التجريبي: اكتشف ميزات Flutter الجديدة دون التأثير على مشاريعك الحالية.
توافق الفريق: تأكد من أن جميع أعضاء الفريق يستخدمون نفس إصدار SDK لمشروع معين.
2. كفاءة العمل:
التثبيت السريع: يمكنك تثبيت إصدارات SDK الجديدة بسهولة دون تنزيلات يدوية، مما يوفر الوقت.
إدارة سهلة: قم بتنظيم إصدارات SDK المختلفة باستخدام أوامر بسيطة وواضحة.
زيادة الإنتاجية: ركز على تطوير Flutter دون الحاجة إلى إدارة إصدارات SDK.
3. التحكم الدقيق:
تعيين إصدارات محددة: حدد إصدار SDK المطلوب لكل مشروع Flutter بشكل فردي.
تتبع الإصدار: مراقبة إصدار SDK الذي يستخدمه كل مشروع.
ضمان التوافق: تأكد من أن مشروع Flutter الخاص بك متوافق مع إصدار SDK محدد.
خطوات تثبيت Flutter FVM:
dart pub global activate fvm
او يمكنك استحدام الامر التالي للويندوز
choco install fvm
او الامر التالي لاجهزة الماك
curl -fsSL https://fvm.app/install.sh | bash
بعد التثبيت يمكنك استخدام الامر التالي لمعرفة اصدارات flutter لديك
fvm list
بعدها استخدم اي اصدار عن طريق الكود التالي ولنفترض ان لديك اصدار 2.10 مثبت لديك وبعدها سوف يقوم بتثبيت كل ما يحتاج اليها ليمكنك استخدام المشروع .
fvm use 2.10
ولتثبيت اي اصدار يمكنك استخدام
fvm install 2.10
اذا كان لديك مشروع في pubspec.yaml يحتوي على
sdk: ">=2.7.0 < 3.0.0"
هذا يعني ان الاصدار الذي يعمل عليه المشروع يكون اكبر من 2.7.0 واقل من 3.0.0 اي اصدار بينهم يصلح ولذلك اخترنا الاصدار 2.10
الان اي امر يمكنك استخدامه في flutter العادي ولكن اضف قبله fvm مثل نريد عمل pub get تكتب على الشكل التالي
fvm pub get
اذا ظهر لك مشكلة اثناء عملية استخراج نسخه
build failed due to use of deprecated android v1 embedding
انتقل الى ملف AndroidManifest بعدها name وقم بتغيير
android:name="io.flutter.app.FlutterApplication"
الى
android:name="${applicationName}"
فيديو للشرح
