Discourse_docker: فشل تشغيل المشغل (تتضمن الحل البديل)

فشل تهيئة صورة حاوية جديدة. قبل بضعة أيام كان يعمل، “لم يتغير شيء”، لكنه فشل اليوم. السجل:

[0:02:27] لا يزال يعمل على:
[0:02:27]   v8
________ تنفيذ أمر 'vpython third_party/depot_tools/update_depot_tools_toggle.py
--disable' في
'/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/libv8-8.4.255.0/vendor'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/libv8-8.4.255.0/vendor/depot_tools/.cipd_bin/.cipd/pkgs/0/fI6WggdkRyN1r91MnTeApc2_gyTtXfYpueHZVLcaF8gC/vpython:
تعذر حل الخيارات: فشل في حل سكريبت بايثون: stat
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/libv8-8.4.255.0/vendor/third_party/depot_tools/update_depot_tools_toggle.py:
لا يوجد ملف أو دليل
خطأ: أمر 'vpython third_party/depot_tools/update_depot_tools_toggle.py
--disable' أعاد حالة خروج غير صفرية (1) في
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/libv8-8.4.255.0/vendor

...

** فشل التهيئة ** يرجى التمرير للأعلى والبحث عن رسائل خطأ سابقة، فقد يكون هناك أكثر من خطأ.
قد يساعد ./discourse-doctor في تشخيص المشكلة.

عند البحث في المشكلة: بالنسبة لـ libv8، هناك مشكلة مشابهة تم الإبلاغ عنها مسبقًا على GitHub، تتعلق بتغيير إصدار في أداة بناء Ruby. أثناء التهيئة، يتم ترقية أداة البناء. أعتقد أن المشكلة تبدو مرتبطة بالإصدار 2.2.15 من bundler (الذي أُصدر أمس). بصراحة: لست خبيرًا في Ruby، لذا ربما تكون المشكلة الحقيقية مختلفة قليلاً.

ومع ذلك، فإن الحل البديل التالي نجح معي: قم بتغيير السطر 148 في templates/web.template.yml من
- gem update bundler
إلى
- gem install bundler -v 2.2.14

أطيب التحيات،

مايكل

هل حدث ذلك أثناء محاولة البناء على الفرع المستقر؟

نقطة جيدة! الفرع الرئيسي من discourse_docker، المعاملات: الإصدار: مستقر في app.yml

ما لم يكن لديك سبب لتشغيل stable ومستعد لتركيز انتباهك على بعض الأمور (مثل هذه المشكلة)، فستكون في وضع أفضل مع tests-passed، حيث إنها مُختبرة بشكل أفضل بكثير وهي النسخة التي يستخدمها Discourse لاستضافته.

هذا بالتأكيد يستحق التصحيح، فإذا كان bundler قد أصدر خطأً حديثًا، فنحن نرغب في وجود حل بديل بسرعة.

@kris.kotlarek هل يمكنك تكرار المشكلة على Digital Ocean؟

هناك عدد من القضايا قيد النظر هنا. حاليًا، الحل الأكثر سلاسة هو ترقية إصدار Gemfile في النسخة المستقرة. راجع رسالة الالتزام لمزيد من التفاصيل:

@م.أبي يرجى إعادة البناء مرة أخرى - يجب أن يعمل الآن

أتوقع أن النظام الذي يعمل على النسخة المستقرة سيحصل على مزيد من — حسنًا — الاستقرار، والأفضل من ذلك أن يتضمن إصلاحات أمنية فقط تقريبًا. على الأقل، هذا هو تفسيرنا للفروع المستقرة. كما أنه لا حاجة إلى بذل جهد أكبر مع النسخة المستقرة لأنها قد تتعطل أكثر من النسخة الحديثة جدًا.

حسنًا، كما يوضح هذا الموقف، فإن الأمر أقل من ذلك بعض الشيء مما قد تتوقعونه. فهم يقومون بعمل جيد في إصلاح الأمور بسرعة (مثل هذه الحالة)، لكنهم (في الغالب؟) لا يستضيفون الإصدار stable بأنفسهم، لذا فهو أقل اختبارًا قليلاً من tests-passed. لذلك، باستثناء الفترة التي تلي إصدار stable جديد مباشرة، أعتبر tests-passed خيارًا “أكثر أمانًا” إلى حد ما. ولا يتفق الجميع على ذلك.

@david البناء يعمل! شكرًا لك!