لدي تحديث فاشل وأحاول تتبع رسالة الخطأ التي تسببت في ذلك. فشلت جميع التحديثات التي أجريتها خلال العام أو العامين الماضيين وتطلبت الكثير من العبث لإكمالها.
لقد لاحظت هذه الرسائل المتعلقة بالتبعيات النظيرة غير الملباة أثناء كل تحديث فاشل، ولكن نظرًا لعدم وجود الكثير من المناقشات حولها هنا، وتمكنت في النهاية من تحميل تطبيقنا، فقد اخترت تجاهلها حتى الآن.
إليك عينة:
warning "@glint/environment-ember-loose@1.0.2" has unmet peer dependency "@glimmer/component@^1.1.2".
warning "@glint/environment-ember-template-imports@1.0.2" has unmet peer dependency "ember-template-imports@^3.0.0".
warning "@mixer/parallel-prettier@2.0.3" has unmet peer dependency "prettier@^2.0.0".
warning Resolution field "babel-plugin-ember-template-compilation@2.0.0" is incompatible with requested version "babel-plugin-ember-template-compilation@^2.0.1"
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
warning "@babel/plugin-debug-macros@0.4.0-pre1" has unmet peer dependency "@babel/core@^7.0.0".
warning "workspace-aggregator-a96edb02-ebd3-494c-9d78-028c6a7e5bb3 > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-a96edb02-ebd3-494c-9d78-028c6a7e5bb3 > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-a96edb02-ebd3-494c-9d78-028c6a7e5bb3 > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-a96edb02-ebd3-494c-9d78-028c6a7e5bb3 > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" has incorrect peer dependency "@uppy/core@^3.2.1".
هذا مع تعطيل جميع الإضافات باستثناء Docker Manager في ملف app.yml الخاص بي.
أقرب مناقشة وجدتها أشارت إلى أن مشكلة إعادة البناء قد تكون بسبب إنشاء القطرة الخاصة بنا منذ سنوات عديدة وأن هذا هو السبب في تأخرنا في جميع هذه الإصدارات، لذا فإن أفضل حل هو إنشاء قطرة جديدة والترحيل.
لا أعرف لماذا لا تعمل تحديثاتك وأعتقد أن الرسائل التي تراها غير مرتبطة: إنها تحذيرات، وليست أخطاء.
ما نوع “العبث”؟
إعادة تثبيت Discourse على خادم جديد أمر سهل وسريع للغاية (اعتمادًا على حجم منتدىك، بالطبع)، لذا يمكنك أيضًا القيام بذلك، فقد يحل المشكلة غير المحددة. لو كنت مكانك، بالتأكيد كنت سأرغب في معرفة المشكلة.
حسنًا، لقد حصلنا على علامة مكررة بطريقة ما وهذا يمنع التطبيق من إعادة البناء، وهو ما يمكنني إصلاحه باتباع هذا الدليل:
.. ولكن لا يمكنني الدخول إلى التطبيق لإصلاحه لأنه لا يعمل ولن يبدأ أو يعيد البناء.
كنت أعتقد أن هذا قد يكون بسبب تلك الأخطاء، ولأن Docker و Ubuntu لدينا قديمان بعض الشيء.
أعتقد أنني سأحاول تشغيل Discourse جديد على قطرة جديدة، وتثبيت Discourse ثم استعادة أحدث نسخة احتياطية لدينا إليه عبر سطر الأوامر حتى أتمكن من إصلاح العلامة المكررة في قاعدة البيانات وإعادة تحميل التطبيق.
أود أيضًا معرفة سبب هذه التحذيرات، بعد رؤيتها الآن، أصبح لدي فشل في البناء أيضًا.
111:M 25 Sep 2023 23:13:54.237 # Redis is now ready to exit, bye bye...
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:110:in `readlines': Interrupt
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:110:in `block in spawn'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:103:in `popen'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:103:in `spawn'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:80:in `block in run'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:78:in `each'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:78:in `run'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/command.rb:8:in `run'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:152:in `block (2 levels) in run_commands'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:142:in `each'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:142:in `block in run_commands'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:141:in `each'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:141:in `run_commands'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:124:in `run'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/cli.rb:65:in `run'
from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/bin/pups:9:in `<top (required)>'
from /usr/local/bin/pups:25:in `load'
from /usr/local/bin/pups:25:in `<main>'
كنت على الإصدار المستقر 3.1.1، وقمت بتحرير ملف app.yml لتضمين المكون الإضافي لاستكشاف البيانات والآن يفشل. لم أقم بإعادة بناء كامل منذ فترة، واستخدمت فقط وحدة تحكم المسؤول عبر الويب لتحديث discourse ولم أواجه مشكلة قط حتى الآن. نظام Ubuntu محدث بجميع الحزم.
تحديث: إعادة البناء للمرة الثانية بدا أنها أصلحت المشكلة بنفسها، لا تزال التحذيرات تظهر ولكن تم إعادة البناء بنجاح. سيكون من المثير للاهتمام معرفة سبب ظهور التحذيرات الآن وتأثيرها (إن وجد).
هناك العديد من الطرق لإصلاح هذا قبل أن يخرج عن السيطرة. عادةً يمكنك إعادة البناء، أو إعادة تحميل نسخة احتياطية سابقة وإصلاح التكرار في منطقة المسؤول. لقد خرج الأمر عن السيطرة بالنسبة لي، إليك سيناريو أسوأ حالة لإصلاح قاعدة البيانات يدويًا إذا حدث لك ذلك على الإطلاق: