تم فصل هذا عن موضوع إعداد بيئة التطوير لـ win 11 wsl.
مشاكلي تتعلق بإعداد تطوير (غير دوكر) مثبت على أوبونتو 22.04.3
… شكرًا لك على هذا، على الرغم من أنني اضطررت إلى القيام ببعض الخطوات اليدوية الإضافية حيث أن المثبت المعدل لم يقم بتثبيت أحدث إصدارات npm أو ruby على ما يبدو.
أستخدم أيضًا ubuntu-22.04
تثبيت أحدث إصدار من npm باستخدام (الخيار 2): https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-22-04
تثبيت pnmp: npm install -g pnpm
تثبيت أحدث إصدار من ruby (الطريقة 3): https://ubuntuhandbook.org/index.php/2024/01/install-ruby-ubuntu-24-04/
تثبيت imagemagik يدويًا، أحدث إصدار (تأكد من الانتقال إلى قسم “تثبيت أحدث إصدار من ImageMagick من الكود المصدري (للمستخدمين المتقدمين واليائسين)”: https://itsfoss.com/install-imagemagick-ubuntu
بعد قضاء اليوم بأكمله في إعداد نسخة التطوير، كنت سعيدًا جدًا… يبدو كل شيء على ما يرام، باستثناء تحميل الصور الرمزية (avatars). على وجه التحديد، يمكنني كمستخدم تحميل صورة رمزية وتظهر بشكل صحيح في مربع تحميل الصورة الرمزية، ولكن عندما أنقر على حفظ، يتم عرض الصورة الرمزية الاحتياطية فقط… لا توجد أخطاء في السجل…
هذا أمر مهم جدًا بالنسبة لي لأنني قمت بإعداد نسخة التطوير لاختبار عملية ترحيل (migration)، وأحد تلك الاختبارات هو التأكد من أنها تحصل على الصور الرمزية … لذلك أريد التأكد من أنها تعمل قبل المتابعة في اختبار الاستيراد.
الصور التي تم تحميلها في المواضيع تظهر بشكل صحيح، لا توجد مشكلة.
هل لدى أي شخص أية أفكار؟ أي مساعدة ستكون محل تقدير كبير.
أنا متعب للغاية بعد قضاء اليوم بأكمله في إعداد بيئة التطوير المحلية هذه حتى وصلت إلى ما وصلت إليه، لا أستطيع أن أتصور أن كل ذلك كان بلا جدوى الآن اعتقدت أنني وصلت!
كانت عملية تفكيري لبيئة التطوير المحلية هي:
تشغيل برنامج الاستيراد محليًا، عمل نسخة احتياطية من ديسكورد، ووضعها على مثيل الإنتاج السحابي المناسب عندما يبدو كل شيء جيدًا…
المشكلة الأولى - كان مسار الصورة الرمزية هو عنوان بروتوكول الإنترنت 127.0.0.1 بينما كانت جميع عناوين URL الأخرى هي localhost - هل يمكن أن يحدث ذلك فرقاً؟ لقد قمت بتغييره على أي حال، عن طريق الدخول إلى rails c (لأنه لم يبدُ أنه يلتقط المعلمات من سطر الأوامر لبدء Discourse (FORCE_HOST=localhost وما إلى ذلك)، كانت فارغة في rails).
rails c
SiteSetting.force_hostname = "localhost"
SiteSetting.port = 4200
exit
بعد ذلك، أصبحت مسارات الصور الرمزية localhost وليست عنوان بروتوكول الإنترنت بعد إعادة تشغيل الموقع. ومع ذلك، لم تكن الصور الرمزية تعمل بعد.
مزيد من التحقيق في السجلات بمجرد قيامي باستيراد صورة رمزية:
tail -n 200 log/development.log
كشف:
convert: no decode delegate for this image format jpeg:/home/bob/discourse/public/uploads/default/original/1X/92bb0d46e6a4b8a1333505b9d2da59a5ed1721ec.jpeg[0]' @ error/constitute.c/ReadImage/752.\nconvert: no images defined jpeg:/tmp/discourse-thumbnail20260202-4096-qjyo93.jpeg' @ error/deprecate.c/ConvertImageCommand/3368.\n"
وبعد بعض البحث اكتشفت أن السبب كان أنني قمت بتثبيت Imagemagick ولكن ليس تفويضات jpeg أولاً. قمت بإلغاء تثبيت Imagemagick، وتثبيت تفويضات jpeg (وغيرها):
أعدت تشغيل خادم Discourse وعملت الصور الرمزية على الفور
أنا منزعج من نفسي لأنني ركزت على مراجع عناوين URL الخاصة بـ ip/localhost بدلاً من التحقق من الأساسيات… ولكن ها نحن ذا، تعلمت الكثير في اليومين الماضيين والآن يعمل كل شيء