ومع ذلك، أواجه مشكلات في إنشاء نسخة احتياطية من قسم المسؤول.
الخطأ الذي أحصل عليه هو: pg_dump: error: connection to database "discourse development" failed: FATAL: Peer authentication failed for user "postgres".
لقد تفحصت ملف pg_hba.conf، وقد قمت بضبط جميع الخيارات على trust.
سيكون رائعًا لو تمكنت من الحصول على مساعدة حول كيفية جعل هذا يعمل.
لقد جربت ذلك على Ubuntu وكذلك على MacOSX. كل شيء يعمل بشكل جيد على كليهما (إنشاء المنشورات، واجهة برمجة التطبيقات…) باستثناء وظيفة النسخ الاحتياطي.
أعتذر، لقد فسرت أوامرك الخاطئة على أنها “الأول يعمل لهذا المواصفات المحددة، والثاني لا يعمل لهذه المواصفات”. ليس لدي بيئة تطوير مُعدة للاختبار.
بالنظر إلى ملف rspec في GitHub، أعتقد أنك محق في أنه لا يتم تمرير متغيرات البيئة. يبدو أنه يجب أن تتمكن من تشغيل d/shell للحصول على shell داخل الحاوية، ثم تشغيل أمر rspec الخاص بك هناك.
أواجه نفس المشكلة تمامًا مثل ماكس. كلما حاولت عمل نسخة احتياطية أو استعادة على تثبيت دوكر المحلي للتطوير، أحصل على نفس الخطأ: فشل مصادقة النظير للمستخدم "postgres"
بعد بعض البحث، اكتشفت أنه في بيئة التطوير، يظهر تكوين قاعدة البيانات على النحو التالي:
أحاول اختبار إضافة باستخدام إعدادات Docker. بشكل عشوائي، يتوقف التطبيق عن التحميل وأواجه صفحة فارغة فقط حتى أحذف مجلد البيانات وأعيد بناء كل شيء. هل لديك أي نصائح حول كيفية تصحيح المشكلة؟
انتقلت من جهاز Mac المحلي الخاص بي إلى آلة افتراضية Ubuntu على أمل أن يسهل ذلك تشغيل هذا المشروع، لكن للأسف حتى الآن لم ينجح الأمر.
أواجه بالفعل بعض مشاكل الصلاحيات الغريبة في المراحل المبكرة. يُبلغ أمر d/bundle install عن حاجته إلى صلاحيات sudo لتثبيت بعض العناصر، كما يظهر أمر d/rails s مشاكل في الصلاحيات أيضًا.
Traceback (most recent call last):
8: from /src/bin/unicorn:70:in `<main>'
7: from /src/bin/unicorn:38:in `ensure_cache_clean!'
6: from /usr/local/lib/ruby/2.7.0/fileutils.rb:211:in `mkdir_p'
5: from /usr/local/lib/ruby/2.7.0/fileutils.rb:211:in `each'
4: from /usr/local/lib/ruby/2.7.0/fileutils.rb:226:in `block in mkdir_p'
3: from /usr/local/lib/ruby/2.7.0/fileutils.rb:226:in `reverse_each'
2: from /usr/local/lib/ruby/2.7.0/fileutils.rb:228:in `block (2 levels) in mkdir_p'
1: from /usr/local/lib/ruby/2.7.0/fileutils.rb:250:in `fu_mkdir'
/usr/local/lib/ruby/2.7.0/fileutils.rb:250:in `mkdir': Permission denied @ dir_s_mkdir - /src/tmp (Errno::EACCES)
هل لديك أي فكرة عما يحدث خطأ؟ كانت هذه الآلة تعمل سابقًا على نسخة إنتاجية من Discourse دون مشاكل. لقد قمت فقط بإيقاف وإزالة تلك الحاويات، ثم استنساخت مستودع git الخاص بالتطوير إلى مجلد مختلف. أدير كل شيء عبر tmux للتعامل مع جلسات shell المختلفة.
الحل الوحيد هو التبديل إلى صور متعددة الهندسات المعمارية تدعم arm64. ستكون هذه الصور أيضًا أسرع بكثير وأكثر موثوقية بشكل عام. أنصحك بالتحقق من الصور الأساسية التي تستخدمها والتبديل إلى صور متعددة الهندسات المعمارية حيثما أمكن. يمكنك معرفة الهندسات المعمارية المدعومة لكل صورة على Docker Hub: […]
هل فريق Discourse منفتح لدعم صورة متعددة الهندسات المعمارية؟ يبدو أن الصورة الأساسية لـ Discourse مبنية على debian:buster-slim، وهي بالفعل متعددة الهندسات المعمارية، لذا يبدو أن جعل الصورة الأساسية لـ Discourse متعددة الهندسات المعمارية ليس بالأمر الصعب بشكل مفرط، لكن هذا قد يضعكم في موقف الحاجة إلى دعم ARM (في بيئة الإنتاج!). سيكون على شخص ما (فريق Discourse؟) تشغيل اختبارات Discourse على كل من x86_64 و ARM، وإصلاح المشكلات عند فشلها، وما إلى ذلك.
هل سيكون تقديم طلب (PR) مرحبًا به هنا؟
(برأيي، يبدو أن ARM هي هندسة المستقبل، حتى في البيئات المستضافة على السحابة.)