أين يمكنني تحديد --platform linux/arm64 في تسلسل ./launcher rebuild app؟
أحتاج إلى اختبار Discourse/Docker محليًا على M1.
سيكون من الرائع تعيين هذا حتى يتم تنفيذ بناء ARM بالكامل.
مع أطيب التحيات،
وكر
أين يمكنني تحديد --platform linux/arm64 في تسلسل ./launcher rebuild app؟
أحتاج إلى اختبار Discourse/Docker محليًا على M1.
سيكون من الرائع تعيين هذا حتى يتم تنفيذ بناء ARM بالكامل.
مع أطيب التحيات،
وكر
Discourse لا يعمل حاليًا على معمارية arm64، لذا لا يوجد خيار للتبديل في برنامج التشغيل الخاص به.
نحن نعمل بنشاط على ذلك، ولدينا عدد كبير من أعضاء فريقنا يعملون به على أجهزة M1 بالفعل، لكنه لا يزال يتطلب فرعًا من مكتبة libv8، وهي اعتمادية غير مباشرة تأتي من miniracer.
شكرًا لك يا رافائيل.
أنتم جميعًا رائعون.
أحر التحيات،
وكر
يمكنك تجربة معلمة args الخاصة بـ Docker التي يدعمها launcher، فقد تنجح.
كيف يبدو الأداء في بيئة التطوير؟
أداء مذهل في مهام Rails أحادية النواة، مثل إنشاء الموضوع أو عرضه. لا يزال أبطأ بكثير من أي عرض حديث لـ x86_64 في المهام متعددة النواة أو أي شيء يتعامل مع إدخال/إخراج القرص.
أفهم ذلك. شكرًا على هذه المعلومة. أعتقد أن دعم البرمجيات لـ M1 سيستغرق بعض الوقت ليصبح مثاليًا، لكن المستقبل يبدو مشرقًا.
قد يبدو الأمر غريبًا، لكنه يسعدني قليلًا أن جهازتي التي اشتريتها مؤخرًا لم تصبح قديمة فجأة. ![]()
إذا لم تنجح هذه الطريقة، يمكنك استخدام متغير البيئة DOCKER_DEFAULT_PLATFORM. حاليًا، لدي:
export DOCKER_DEFAULT_PLATFORM=linux/amd64
في ملف zsh الخاص بي. عند استخدام Docker، أريد دائمًا تقريبًا أن تتطابق البنية مع أنظمة الإنتاج.
مقارنةً بأجيال MacBooks السابقة، فإن التحسن كبير، رغم أن مشكلات أداء نظام الملفات لا تزال موجودة. ومع ذلك، فإن سطح مكتب Linux عالي الأداء سيظل يتفوق عليه.
على سبيل المثال، يمكنني تشغيل bin/turbo_rspec على النواة في حوالي دقيقتين و50 ثانية (M1 Macbook Pro، مع تشغيل Discourse و Redis و Postgres بشكل أصلي). بينما يمكن لأعضاء الفريق على أجهزة سطح مكتب Linux عالية الأداء إنجاز ذلك في حوالي دقيقة واحدة.
ما هي خارطة الطريق لتمكين هذا كـ مستقر؟
نحتاج إلى إصدار لعبة سباق مصغرة / v8 جديدة، ولا توجد تواريخ تقديرية بعد، فنحن نختبر النسخ التجريبية في الوقت الحالي
@sam، وكيف تسير الاختبارات؟ أنا مهتم جداً بالإصدار المتوافق مع M1.
الأمر ليس سيئاً من حيث التوقيت… فهناك أشخاص (مطوّرون) في الخارج لا يقتربون حتى من هذا المستوى…
للاستخدام التطويري لـ Discourse على M1، يمكنك العثور على بعض المعلومات في منتدى Rails: Tips and tricks for developing Rails applications on Apple Silicon - rubyonrails-talk - Ruby on Rails Discussions. عدد قليل منا في الفريق يستخدم هذا يوميًا، وهو يعمل بشكل جيد.
ومع ذلك، لا أنصح بتشغيل خادم Discourse إنتاجي على M1.
إذا كان الأمر كذلك، فلماذا لا يتم إصداره للإصدار العام (GA)؟
لا أنصح بتشغيل خادم Discourse للإنتاج على M1.
لماذا؟
إنه رائع حقًا. لقد أدهشتني الكلمات عن كيفية شكرك على هذا. عمل رائع.
أيضًا، هل MacBook Air M1 كافٍ لتطوير Discourse؟
أعتقد ذلك ![]()
إنه رائع حقًا. لقد أذهلتني الكلمات عن كيفية شكرك على هذا. عمل رائع.
أعتقد أن نشر الكلمة حول ديسكورش سيكون كافيًا…
لا أفهم تمامًا… كل هذا متاح للجمهور، ويمكنك اتباع تلك التعليمات بنفسك وبدء التشغيل.
تعليمات التثبيت الخاصة بالإصدار الإنتاجي مخصصة للتشغيل على مضيف Linux من نوع AMD64. قد تتمكن من تشغيله على أنظمة تشغيل أو معماريات أخرى باستخدام النصائح الواردة في هذا الموضوع، لكن لا توجد ضمانات.
بالتأكيد. لدي إصدار Pro، لكن لدينا أيضًا أشخاص يستخدمون أجهزة MacBook Air وMac Mini بمعالجات M1. يبدو أن هناك فرقًا طفيفًا جدًا في الأداء بينها في مقاييس الأداء الخاصة بنا للتطوير.
أين؟ في المستودع العام الرسمي؟
في المقال الذي راجتُ:
لم نقم بإجراء أي تغييرات على Discourse موجودة في فرع تطوير خاص، إذا كان هذا هو ما تتساءل عنه. يمكنك تشغيل Discourse على نظام M1 عن طريق تثبيت إصدارات ARM64 من التبعيات التي نستخدمها، وهو ما ورد في الدليل الذي نشره ديفيد أعلاه.
نود جميعًا أن يعمل المستودع الرسمي مع الأجهزة الجديدة، أليس كذلك؟ وليس بعض الكود المخفي في الخزانة.