شكراً على التقرير @Aubrey @topological و @FlyingCat. لقد قمنا الآن بالتراجع عن هذا الالتزام في Discourse core.
@cvx حدد سبب المشكلة، وفتح مشكلة في الجوهر mail gem:
بمجرد حل ذلك، سنعود إلى الجوهر الرسمي مرة أخرى.
شكراً على التقرير @Aubrey @topological و @FlyingCat. لقد قمنا الآن بالتراجع عن هذا الالتزام في Discourse core.
@cvx حدد سبب المشكلة، وفتح مشكلة في الجوهر mail gem:
بمجرد حل ذلك، سنعود إلى الجوهر الرسمي مرة أخرى.
أواجه خطأً مختلفًا في d/boot_dev --init. هذا على تثبيت جديد لنظام Ubuntu 22.04 وأتبع الدليل الموجود في المنشور الأصلي.
تحديث: تم الحل - لا يحب التشغيل بصلاحيات الجذر على الإطلاق. تأكد من أنك مستخدم عادي منذ البداية.
# d/boot_dev --init
استخدام المصدر في: /root/dev/discourse
استخدام البيانات في: /root/dev/discourse/data/postgres
release: السحب من discourse/discourse_dev
214ca5fb9032: اكتمل السحب
37cd9d4cd9e6: اكتمل السحب
9b38588fc778: اكتمل السحب
cb13139046fe: اكتمل السحب
1243de3fe752: اكتمل السحب
ec3e5331f9b3: اكتمل السحب
0fab0821518d: اكتمل السحب
9b5e686bba91: اكتمل السحب
428573951790: اكتمل السحب
38013f421bac: اكتمل السحب
733b166992df: اكتمل السحب
1fb3d7e57e63: اكتمل السحب
f76a1270a527: اكتمل السحب
133993b18ebe: اكتمل السحب
226b3b82cab1: اكتمل السحب
Digest: sha256:0a08c79cd8997e3bfac037625f2f5b2f26a64564113116b8c18969484b00a8ce
Status: تم تنزيل صورة أحدث لـ discourse/discourse_dev:release
docker.io/discourse/discourse_dev:release
439f53088cc4aab844a8864b779056a576c731ba4723d4cf8b23d0e97c8ae79c
تثبيت الجواهر...
^Tقد لا تكون الملفات التالية قابلة للكتابة، لذا يلزم استخدام sudo:
/usr/local/bin
/usr/local/lib/ruby/gems/2.7.0
/usr/local/lib/ruby/gems/2.7.0/build_info
/usr/local/lib/ruby/gems/2.7.0/cache
/usr/local/lib/ruby/gems/2.7.0/doc
/usr/local/lib/ruby/gems/2.7.0/extensions
/usr/local/lib/ruby/gems/2.7.0/gems
/usr/local/lib/ruby/gems/2.7.0/plugins
/usr/local/lib/ruby/gems/2.7.0/specifications
استخدام rake 13.0.6
استخدام concurrent-ruby 1.1.10
استخدام i18n 1.10.0
استخدام minitest 5.15.0
استخدام tzinfo 2.0.4
استخدام activesupport 7.0.3
استخدام builder 3.2.4
استخدام erubi 1.10.0
استخدام racc 1.6.0
استخدام nokogiri 1.13.6 (x86_64-linux)
استخدام rails-dom-testing 2.0.3
استخدام crass 1.0.6
استخدام loofah 2.18.0
استخدام rails-html-sanitizer 1.4.2
استخدام actionview 7.0.3
استخدام rack 2.2.3
استخدام rack-test 1.1.0
استخدام actionpack 7.0.3
استخدام globalid 1.0.0
استخدام activejob 7.0.3
استخدام mini_mime 1.1.2
استخدام mail 2.8.0.edge من https://github.com/discourse/mail.git
استخدام digest 3.1.0
استخدام timeout 0.2.0
استخدام net-protocol 0.1.3
استخدام strscan 3.0.3
استخدام net-imap 0.2.3
استخدام net-pop 0.1.1
استخدام net-smtp 0.3.1
استخدام actionmailer 7.0.3
استخدام actionview_precompiler 0.2.3
استخدام activemodel 7.0.3
استخدام active_model_serializers 0.8.4
استخدام activerecord 7.0.3
استخدام public_suffix 4.0.7
استخدام addressable 2.8.0
استخدام annotate 3.2.0
استخدام ast 2.4.2
استخدام aws-eventstream 1.2.0
استخدام aws-partitions 1.583.0
استخدام aws-sigv4 1.5.0
استخدام jmespath 1.6.1
استخدام aws-sdk-core 3.130.2
استخدام aws-sdk-kms 1.56.0
استخدام aws-sdk-s3 1.114.0
استخدام aws-sdk-sns 1.53.0
استخدام ember-source 2.18.2
استخدام execjs 2.8.1
استخدام barber 0.12.2
استخدام coderay 1.1.3
استخدام better_errors 2.9.1
استخدام debug_inspector 1.1.0
استخدام binding_of_caller 1.0.0
استخدام msgpack 1.5.1
استخدام bootsnap 1.11.1
استخدام uniform_notifier 1.16.0
استخدام bullet 7.0.1
استخدام bundler 2.3.13
استخدام byebug 11.1.3
استخدام cbor 0.5.9.6
استخدام certified 1.0.0
استخدام chunky_png 1.4.0
استخدام colored2 3.1.2
استخدام connection_pool 2.2.5
استخدام ipaddr 1.2.4
استخدام openssl 2.2.1
استخدام openssl-signature_algorithm 1.1.1
استخدام cose 1.2.0
استخدام cppjieba_rb 0.4.2
استخدام rexml 3.2.5
استخدام crack 0.4.5
استخدام css_parser 1.11.0
استخدام diff-lcs 1.5.0
استخدام diffy 3.4.0
استخدام ember-data-source 3.0.2
استخدام sprockets 3.7.2
استخدام ember-handlebars-template 0.8.0
استخدام method_source 1.0.0
استخدام thor 1.2.1
استخدام zeitwerk 2.5.4
استخدام railties 7.0.3
استخدام jquery-rails 4.4.0
استخدام discourse-ember-rails 0.18.6
استخدام discourse-ember-source 3.12.2.3
استخدام discourse-fonts 0.0.9
استخدام faker 2.21.0
استخدام literate_randomizer 0.4.0
استخدام discourse_dev_assets 0.0.4
استخدام docile 1.4.0
استخدام regexp_parser 2.4.0
استخدام ecma-re-validator 0.4.0
استخدام email_reply_trimmer 0.1.13
استخدام excon 0.92.3
استخدام exifr 1.3.9
استخدام fabrication 2.28.0
استخدام fakeweb 1.3.0
استخدام faraday-em_http 1.0.0
استخدام faraday-em_synchrony 1.0.0
استخدام faraday-excon 1.1.0
استخدام faraday-httpclient 1.0.1
استخدام multipart-post 2.1.1
استخدام faraday-multipart 1.0.3
استخدام faraday-net_http 1.0.1
استخدام faraday-net_http_persistent 1.2.0
استخدام faraday-patron 1.0.0
استخدام faraday-rack 1.0.0
استخدام faraday-retry 1.0.3
استخدام ruby2_keywords 0.0.5
استخدام faraday 1.10.0
استخدام fast_blank 1.0.1
استخدام fast_xs 0.8.0
استخدام fastimage 2.2.6
استخدام ffi 1.15.5
استخدام fspath 3.1.2
استخدام gc_tracer 1.5.1
استخدام guess_html_encoding 0.0.11
استخدام hana 1.3.7
استخدام hashdiff 1.0.1
استخدام hashie 5.0.0
استخدام highline 2.0.3
استخدام hkdf 0.3.0
استخدام htmlentities 4.3.4
استخدام http_accept_language 2.1.1
استخدام image_size 3.0.1
استخدام in_threads 1.6.0
استخدام progress 3.6.0
استخدام image_optim 0.31.1
استخدام json 2.6.1
استخدام json-schema 2.8.1
استخدام uri_template 0.7.0
استخدام json_schemer 0.2.21
استخدام jwt 2.3.0
استخدام kgio 2.11.4
استخدام libv8-node 16.10.0.0 (x86_64-linux)
استخدام rb-fsevent 0.11.1
استخدام rb-inotify 0.10.1
استخدام listen 3.7.1
استخدام request_store 1.5.1
استخدام lograge 0.12.0
استخدام logstash-event 1.2.02
استخدام logstash-logger 0.26.1
استخدام logster 2.11.2
استخدام lru_redux 1.1.0
استخدام lz4-ruby 0.3.3
استخدام maxminddb 0.1.22
استخدام memory_profiler 1.0.0
استخدام message_bus 4.2.0
استخدام mini_racer 0.6.2
استخدام redis 4.5.1
استخدام sidekiq 6.4.2
استخدام mini_scheduler 0.13.0
استخدام mini_sql 1.4.0
استخدام mini_suffix 0.3.3
استخدام mocha 1.14.0
استخدام multi_json 1.15.0
استخدام multi_xml 0.6.0
استخدام mustache 1.1.1
استخدام uri 0.11.0
استخدام net-http 0.2.2
استخدام nio4r 2.5.8
استخدام oauth 0.5.10
استخدام oauth2 1.4.7
استخدام oj 3.13.11
استخدام omniauth 1.9.1
استخدام omniauth-oauth2 1.7.2
استخدام omniauth-facebook 9.0.0
استخدام omniauth-github 1.4.0
استخدام omniauth-google-oauth2 0.8.2
استخدام omniauth-oauth 1.2.0
استخدام omniauth-twitter 1.4.0
استخدام optimist 3.0.1
استخدام parallel 1.22.1
استخدام parallel_tests 3.8.1
استخدام parser 3.1.2.0
استخدام pg 1.3.5
استخدام pry 0.13.1
استخدام pry-byebug 3.9.0
استخدام pry-rails 0.3.9
استخدام puma 5.6.4
استخدام r2 0.2.7
استخدام rack-mini-profiler 3.0.0
استخدام rack-protection 2.2.0
استخدام rails_failover 0.8.1
استخدام rails_multisite 4.0.1
استخدام rainbow 3.1.1
استخدام raindrops 0.20.0
استخدام rbtrace 0.4.14
استخدام rchardet 1.8.0
استخدام redis-namespace 1.8.2
استخدام rinku 2.0.6
استخدام rotp 6.2.0
استخدام rqrcode_core 1.2.0
استخدام rqrcode 2.1.1
استخدام rspec-support 3.11.0
استخدام rspec-core 3.11.0
استخدام rspec-expectations 3.11.0
استخدام rspec-mocks 3.11.1
استخدام rspec 3.11.0
استخدام rspec-html-matchers 0.9.4
استخدام rspec-rails 5.1.2
استخدام rss 0.2.9
استخدام rswag-specs 2.5.1
استخدام rubocop-ast 1.18.0
استخدام ruby-progressbar 1.11.0
استخدام unicode-display_width 2.1.0
استخدام rubocop 1.29.1
استخدام rubocop-rspec 2.10.0
استخدام rubocop-discourse 2.5.0
استخدام ruby-prof 1.4.3
استخدام ruby-readability 0.7.0
استخدام rubyzip 2.3.2
استخدام sanitize 6.0.0
استخدام sassc 2.0.1
استخدام sprockets-rails 3.4.2
استخدام tilt 2.0.10
استخدام sassc-rails 2.1.2
استخدام seed-fu 2.3.9
استخدام shoulda-matchers 5.1.0
استخدام simplecov-html 0.12.3
استخدام simplecov_json_formatter 0.1.4
استخدام simplecov 0.21.2
استخدام sshkey 2.0.0
استخدام stackprof 0.2.19
استخدام test-prof 1.0.9
استخدام uglifier 4.2.0
استخدام unf_ext 0.0.8.1
استخدام unf 0.1.4
استخدام unicorn 6.1.0
استخدام webmock 3.14.0
استخدام webpush 1.1.0
استخدام xorcist 1.1.2
استخدام yaml-lint 0.0.10
اكتمل التجميع! 126 اعتمادية Gemfile، و 232 gem مثبتة الآن.
استخدم `bundle info [gemname]` لرؤية مكان تثبيت gem المجمّع.
هناك gem واحد مثبت تعتمد عليه بشكل مباشر ويبحث عن تمويل.
قم بتشغيل `bundle fund` للتفاصيل.
ترحيل قاعدة البيانات...
تم إلغاء الأمر rake!
Errno::EACCES: رفض الإذن @ dir_s_mkdir - /src/app/assets/javascripts/plugins
/src/lib/plugin/instance.rb:449:in `ensure_directory'
/src/lib/plugin/instance.rb:721:in `activate!'
/src/lib/discourse.rb:279:in `block in activate_plugins!'
/src/lib/discourse.rb:276:in `each'
/src/lib/discourse.rb:276:in `activate_plugins!'
/src/config/application.rb:222:in `block in <class:Application>'
/src/lib/plugin.rb:6:in `initialization_guard'
/src/config/application.rb:221:in `<class:Application>'
/src/config/application.rb:81:in `<module:Discourse>'
/src/config/application.rb:80:in `<main>'
/src/Rakefile:7:in `<main>'
(انظر التتبع الكامل بتشغيل المهمة مع --trace)
# 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': رفض الإذن @ dir_s_mkdir - /src/tmp (Errno::EACCES)
لذلك لم يتم تثبيت برنامج CORS الوسيط مطلقًا. لقد قمت للتو بإزالة عبارة if في مستودع Discourse المحلي الخاص بي حتى يتم تثبيت البرنامج الوسيط في أي حال.
ربما يمكن لمطور (أو مؤلف هذا الدليل @rishabh ربما؟) مساعدتي هنا. لقد اتبعت دليل OP حرفيًا، على تثبيت VM جديد مع Ubuntu 22.04، باستخدام حساب مستخدم (غير جذري).
ربط المكون الإضافي في المجلد الفرعي discourse/plugins/، لا يتم رؤية التغييرات في كود JavaScript الخاص بتهيئة المكون الإضافي إلا إذا قمت بتشغيل d/shutdown_dev؛ d/boot_dev، على الرغم من إعادة تشغيل d/rails s و d/ember-cli
نسخ المكون الإضافي إلى المجلد الفرعي discourse/plugins/، يتم رؤية التغييرات في كود JavaScript الخاص بتهيئة المكون الإضافي دون تشغيل d/shutdown_dev؛ d/boot_dev ولكن فقط إعادة تشغيل d/rails s و d/ember-cli
المكون الإضافي المعني هو discourse-math، والكود الذي أقوم بتغييره موجود في assets/initializers/javascript/*.js. لاحظت أن هذه الملفات يتم تحميلها بشكل جانبي ولا يتم استدعاؤها عبر HTTP GET مباشرة بواسطة المتصفح (لست متأكدًا مما إذا كان ذلك يحدث فرقًا).
ملاحظة: أنا جديد فقط على Discourse، ولست جديدًا على تطوير الويب/JavaScript (بمعنى آخر، لا داعي لسؤالي عما إذا كنت قد قمت بتحديث المتصفح
)
هل يمكن لمطور التحقق من هذا الخطأ، يبدو أنه متعلق بـ Ruby بدلاً من شيء خاص بحالتي. كنت أقوم بتثبيت Discourse للتطوير على نظام Windows باتباع هذه التعليمات لتثبيت Docker، وهو ما قمت به بنجاح عدة مرات. وصل البرنامج النصي إلى مرحلة تثبيت قاعدة البيانات ثم تعطل. التحذير الأول لا يبدو قاتلاً، ولكن هناك ملف مفقود xss.min.js في أسفل هذا التفريغ والذي كان قاتلاً:
‘’'أنت تحاول تشغيل عمليات الترحيل في بيئة الاختبار الخاصة بك ولا تقوم بتحميل الإضافات، مع ضبط LOAD_PLUGINS على 1
تحذير إهمال: استخدام التعامل القديم مع الاتصال مهمل. يرجى ضبط
legacy_connection_handling على false في تطبيقك.
التعامل الجديد مع الاتصال لا يدعم connection_handlers
المُسترجع والمُعيّن.
اقرأ المزيد عن كيفية الترحيل على: Multiple Databases with Active Record — Ruby on Rails Guides
(تم الاستدعاء من main في /src/config/environment.rb:7)
== 20150501152228 RenameTotalVotesToVoters: ترحيل =========================
== 20150501152228 RenameTotalVotesToVoters: تم الترحيل (0.0106s) ===============
== 20151016163051 MergePollsVotes: ترحيل ==================================
== 20151016163051 MergePollsVotes: تم الترحيل (0.0017s) =========================
== 20160321164925 ClosePollsInClosedTopics: ترحيل =========================
== 20160321164925 ClosePollsInClosedTopics: تم الترحيل (0.0281s) ===============
== 20180820073549 CreatePollsTables: ترحيل ================================
– إنشاء جدول (:polls, {})
block in ctx_load' /src/lib/pretty_text.rb:612:in each’ctx_load' /src/lib/pretty_text.rb:108:in create_es6_context’block in v8' /src/lib/pretty_text.rb:151:in synchronize’v8' /src/lib/pretty_text.rb:190:in block in markdown’block in protect' /src/lib/pretty_text.rb:605:in synchronize’protect' /src/lib/pretty_text.rb:189:in markdown’cook' /src/app/models/user_profile.rb:149:in cooked’cook' (eval):51:in block (2 levels) in run_file’block (2 levels) in <main>' /src/lib/distributed_mutex.rb:57:in block in synchronize’synchronize' /src/lib/distributed_mutex.rb:53:in synchronize’synchronize' /src/lib/tasks/db.rake:214:in block in ’شكراً جزيلاً على هذا المورد الرائع. إليك نقطتان للمساعدة:
إليك أمر لحذف البيانات وإعادة تشغيلها بالكامل:
docker stop discourse_dev ; docker rm discourse_dev ; sudo rm -rf data ; rm -rf tmp/*
إذا كنت تواجه مشاكل في الترحيل كما هو مذكور أعلاه، فتأكد من أن لديك الأذونات الصحيحة. يجب أن تكون جزءًا من مجموعة docker أو sudo (خيار ثانٍ سيء).
دع d/rails s يكتمل قبل تشغيل d/ember-cli، وإلا ستكون هناك بعض المشاكل الغريبة.
شكراً لك يا طارق.
بعد مسح التثبيت وتكرار عملية الاستنساخ، حدث نفس الخطأ بالضبط أثناء التهيئة، أي؛
"rake aborted!
“Errno::ENOENT: No such file or directory @ rb_sysopen”
ولكن هذه المرة تمكنت من المتابعة بنجاح ووصلت إلى “Congratulations.” شكراً لك.
الآن، لأن البرنامج النصي انتهى مبكراً، لا يوجد بريد إلكتروني للمسؤول عن التطوير، ولا يوجد ملف تكوين. سيكون من الجيد لو اكتشف شخص ما المشكلة في التهيئة.
لقد قمت بتكوين بريد إلكتروني للمسؤول باستخدام الأمر “d/rake admin:create” وأدخلت بريدًا إلكترونيًا صالحًا وكلمة مرور (لا تقل عن 10 أحرف).
بعد ذلك، تمكنت من تشغيل Discourse بنجاح في المتصفح كما هو موضح.
هل يستخدم أي شخص هنا Fedora؟ هذا يضيف بعض التعقيد الإضافي، لأن Podman و SELinux يُستخدمان لتعزيز الأمان. Podman ليس مشكلة حقيقية آمل، فهو متوافق مع OCI وتثبيت podman-docker، يتم ترجمة جميع أوامر Docker إلى أوامر Podman. بالنسبة لـ SELinux أعتقد أنني وجدت الحل المناسب أيضًا، لكنني ما زلت أواجه مشكلة.
لذلك أثناء وجودي في دليل discourse، أقوم بتشغيل هذا الأمر mkdir -vp data/postgres; sudo semanage fcontext -a -t svirt_sandbox_file_t \"/home/user/discourse/data(/.*)?\" \u0026\u0026 restorecon -rv . لتطبيق تسمية سياق SELinux أعتقد أنها كافية لهذا (على الأقل، أخطاء SELinux اختفت)
لكنني ما زلت أواجه هذا الخطأ:
[user@fedora discourse]$ d/boot_dev --init
محاكاة Docker CLI باستخدام podman. إنشاء /etc/containers/nodocker لإسكات الرسالة.
خطأ: قالب: info:1:2: تنفيذ "info" في <.Architecture>: لا يمكن تقييم الحقل Architecture في النوع *define.Info
تحذير: بنية Docker ليست x86_64.
من غير المرجح أن يعمل تطوير Discourse باستخدام محاكاة بنية Docker.
يرجى محاولة تثبيت تطوير أصلي.
استخدام المصدر في: /home/user/discourse
استخدام البيانات في: /home/user/discourse/data/postgres
محاكاة Docker CLI باستخدام podman. إنشاء /etc/containers/nodocker لإسكات الرسالة.
✔ docker.io/discourse/discourse_dev:release
محاولة سحب docker.io/discourse/discourse_dev:release...
الحصول على توقيعات مصدر الصورة
نسخ blob b42e9bacf67a تم
نسخ blob 3257b89dc3e0 تم
نسخ blob 8f87c7014fb0 تم
نسخ blob bf00c24d0f5b تم
نسخ blob 10e0cd28eb63 تم
نسخ blob 1efc276f4ff9 تم
نسخ blob 6d9350d0e59c تم
نسخ blob 84ee3423e706 تم
نسخ blob ee2701209d47 تم
نسخ blob ce48a2c1c5d3 تم
نسخ blob 2f702c3c2f9f تم
نسخ blob 27762615d0fc تم
نسخ blob 7056a5796a1a تم
نسخ blob c8a22dd30e4c تم
نسخ blob 1a93cd2f0c23 تم
نسخ تكوين 6365e737b9 تم
كتابة البيان إلى وجهة الصورة
تخزين التوقيعات
6365e737b90aea36af1fd9ed029db43a0a620f1c285416546f5e6ee728aca4c5
محاكاة Docker CLI باستخدام podman. إنشاء /etc/containers/nodocker لإسكات الرسالة.
5282393e248e33800e235b4405c9a7197d10a3fc1d405450f1c99d2a5c7c85c7
تثبيت الجواهر...
محاكاة Docker CLI باستخدام podman. إنشاء /etc/containers/nodocker لإسكات الرسالة.
تعذر العثور على Gemfile
تشير سجلات systemd إلى هذا:
Aug 09 18:47:45 fedora podman[19380]: 2022-08-09 18:47:45.841001786 +0200 CEST m=+0.137712533 image pull discourse/discourse_dev:release
Aug 09 18:47:45 fedora podman[19380]:
Aug 09 18:47:46 fedora podman[19380]: 2022-08-09 18:47:46.043506861 +0200 CEST m=+0.340217585 container create 5282393e248e33800e235b4405c9a7197d10a3fc1d405450f1c99d2a5c7c85c7 (image=docker.io/discourse/discourse_dev:release, name=discourse_dev)
Aug 09 18:47:46 fedora kernel: tun: Universal TUN/TAP device driver, 1.6
Aug 09 18:47:46 fedora systemd[1684]: selinux: avc: op=load_policy lsm=selinux seqno=7 res=1
Aug 09 18:47:46 fedora systemd[1684]: selinux: Regex version mismatch, expected: 10.39 2021-10-29 actual: 10.40 2022-04-14
Aug 09 18:47:46 fedora systemd[1684]: selinux: Regex version mismatch, expected: 10.39 2021-10-29 actual: 10.40 2022-04-14
Aug 09 18:47:46 fedora systemd[1684]: selinux: Regex version mismatch, expected: 10.39 2021-10-29 actual: 10.40 2022-04-14
Aug 09 18:47:46 fedora systemd[1684]: Started libpod-conmon-5282393e248e33800e235b4405c9a7197d10a3fc1d405450f1c99d2a5c7c85c7.scope.
Aug 09 18:47:46 fedora systemd[1684]: Started libpod-5282393e248e33800e235b4405c9a7197d10a3fc1d405450f1c99d2a5c7c85c7.scope - libcrun container.
Aug 09 18:47:46 fedora chronyd[792]: Selected source 158.101.221.122 (2.fedora.pool.ntp.org)
Aug 09 18:47:46 fedora podman[19380]: 2022-08-09 18:47:46.370028125 +0200 CEST m=+0.666738859 container init 5282393e248e33800e235b4405c9a7197d10a3fc1d405450f1c99d2a5c7c85c7 (image=docker.io/discourse/discourse_dev:release, name=discourse_dev)
Aug 09 18:47:46 fedora podman[19380]: 2022-08-09 18:47:46.433863112 +0200 CEST m=+0.730573845 container start 5282393e248e33800e235b4405c9a7197d10a3fc1d405450f1c99d2a5c7c85c7 (image=docker.io/discourse/discourse_dev:release, name=discourse_dev)
Aug 09 18:47:46 fedora discourse_dev[19420]: run-parts: executing /etc/runit/1.d/00-fix-var-logs
Aug 09 18:47:46 fedora discourse_dev[19420]: run-parts: executing /etc/runit/1.d/anacron
Aug 09 18:47:46 fedora discourse_dev[19420]: run-parts: executing /etc/runit/1.d/cleanup-pids
Aug 09 18:47:46 fedora discourse_dev[19420]: Cleaning stale PID files
Aug 09 18:47:46 fedora discourse_dev[19420]: run-parts: executing /etc/runit/1.d/ensure-database
Aug 09 18:47:47 fedora podman[19425]: 2022-08-09 18:47:47.698175757 +0200 CEST m=+1.211177315 container exec 5282393e248e33800e235b4405c9a7197d10a3fc1d405450f1c99d2a5c7c85c7 (image=docker.io/discourse/discourse_dev:release, name=discourse_dev)
Aug 09 18:47:48 fedora discourse_dev[19420]: Started runsvdir, PID is 29
Aug 09 18:47:48 fedora podman[19425]: 2022-08-09 18:47:48.535303673 +0200 CEST m=+2.048305123 container exec_died 5282393e248e33800e235b4405c9a7197d10a3fc1d405450f1c99d2a5c7c85c7 (image=docker.io/discourse/discourse_dev:release, name=discourse_dev, execID=166d86f7ca8739899bd59801c2f8bb3d9b940329d8e6bb29d0f45ad82e9d60b0)
دليل السجل في دليل discourse فارغ، كيف يمكنني استكشاف الأخطاء وإصلاحها بشكل أفضل؟
تبدو المسارات مضبوطة بشكل صحيح للعثور على ملف Gem.
[user@fedora discourse]$ SCRIPTPATH=$(cd \"$(dirname \"$0\")\" \u003e /dev/null; pwd -P)
[user@fedora discourse]$ echo $SCRIPTPATH
/home/user/discourse
لقد حققت بعض النجاح منذ فترة طويلة مع بيئة تطوير Fedora افتراضية من الصفر ولكن لم أتمكن من إعداد بيئة إنتاج للعمل. سألت أيضًا سؤال Podman الذي استجاب له شخص بلطف بالقول إنه كان ممكنًا ولكن هناك الكثير من الأشياء التي يجب تغييرها والتي لم يكن لديه وقت للقيام بها. .
أود أن أحصل على إصدارات Fedora للتطوير والإنتاج. .
لا أفهم هذا السؤال. يتوقف مع هذا:
rake aborted!
Errno::ENOENT: No such file or directory @ rb_sysopen - /src/app/assets/javascripts/node_modules/xss/dist/xss.min.js
/src/lib/pretty_text.rb:613:in `block in ctx_load'
/src/lib/pretty_text.rb:612:in `each'
/src/lib/pretty_text.rb:612:in `ctx_load'
/src/lib/pretty_text.rb:108:in `create_es6_context'
/src/lib/pretty_text.rb:153:in `block in v8'
/src/lib/pretty_text.rb:151:in `synchronize'
/src/lib/pretty_text.rb:151:in `v8'
/src/lib/pretty_text.rb:190:in `block in markdown'
/src/lib/pretty_text.rb:606:in `block in protect'
/src/lib/pretty_text.rb:605:in `synchronize'
/src/lib/pretty_text.rb:605:in `protect'
/src/lib/pretty_text.rb:189:in `markdown'
/src/lib/pretty_text.rb:318:in `cook'
/src/app/models/user_profile.rb:149:in `cooked'
/src/app/models/user_profile.rb:158:in `cook'
(eval):51:in `block (2 levels) in run_file'
/src/lib/tasks/db.rake:234:in `block (2 levels) in <main>'
/src/lib/distributed_mutex.rb:57:in `block in synchronize'
/src/lib/distributed_mutex.rb:53:in `synchronize'
/src/lib/distributed_mutex.rb:53:in `synchronize'
/src/lib/distributed_mutex.rb:38:in `synchronize'
/src/lib/tasks/db.rake:214:in `block in <main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
أود استخدام Ubuntu، ولكن لسبب ما لا تعمل بشكل جيد مع spice-vdagent، والعديد من الأخطاء الرسومية عند تشغيل الجهاز الافتراضي. Fedora تعمل بسلاسة … اعتقدت أن الحاويات أصلحت قابلية النقل
أعتقد أنني سأقوم بإعداد نظام Ubuntu بدون واجهة رسومية وتسجيل الدخول عبر SSH.
أواجه نفس الخطأ في Ubuntu Server 22.04
لدي هذه المشكلة أيضًا. اتبعت وتأكدت مرتين من الاقتراحات المقدمة من @tarek. المشكلة مستمرة في الظهور. قمت أيضًا بتنظيف دليل discourse بالكامل وبدأت من جديد. أستخدم Ubuntu 22.04.01 في جهاز افتراضي وأستخدم أحدث Docker متاح لـ Ubuntu.
اعتبارًا من git master الحالي، لن يكتمل هذا بنجاح. أعتقد أن هذا خطأ في النواة. للحصول على بيئة تطوير جاهزة للعمل، قم بما يلي بعد الخطأ:
d/rake db:migrate
d/rake admin:create
d/rails s
بالإضافة إلى ذلك في الطرفيتين الأخريين، d/ember-cli و d/mailhog.
هل لديك أي فكرة عن كيفية منع d/rails s من عرض كل مخرجات الاستعلام؟ هذا يجعل استخدام byebug وما شابه ذلك لمعرفة مكان الأخطاء أكثر صعوبة بالنسبة لي.
جرب: DISCOURSE_DEV_LOG_LEVEL=info bin/rails s
المزيد من النصائح هنا: https://discourse.pluginmanager.org/t/debugging-ruby-with-byebug/378?u=merefield
مرحباً،
أحاول تشغيل هذا على Ubuntu على الإصدار المستقر (v2.8.8)، وأواجه الأخطاء التالية:
ترحيل قاعدة البيانات...
== 20220104053343 AddBookmarkPolymorphicColumns: ترحيل ====================
-- add_column(:bookmarks, :bookmarkable_id, :integer)
rake aborted!
StandardError: حدث خطأ، تم إلغاء هذا الترحيل وكل ما يليه:
PG::DuplicateColumn: خطأ: العمود "bookmarkable_id" في العلاقة "bookmarks" موجود بالفعل
/src/lib/migration/safe_migrate.rb:92:in `async_exec'
/src/db/migrate/20220104053343_add_bookmark_polymorphic_columns.rb:5:in `change'
/src/lib/freedom_patches/schema_migration_details.rb:9:in `block in exec_migration'
/src/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/src/lib/migration/safe_migrate.rb:28:in `migrate'
/src/lib/migration/safe_migrate.rb:55:in `migrate'
/src/lib/tasks/db.rake:218:in `block (2 levels) in <main>'
/src/lib/distributed_mutex.rb:33:in `block in synchronize'
/src/lib/distributed_mutex.rb:29:in `synchronize'
/src/lib/distributed_mutex.rb:29:in `synchronize'
/src/lib/distributed_mutex.rb:14:in `synchronize'
/src/lib/tasks/db.rake:210:in `block in <main>'
Caused by:
ActiveRecord::StatementInvalid: PG::DuplicateColumn: خطأ: العمود "bookmarkable_id" في العلاقة "bookmarks" موجود بالفعل
/src/lib/migration/safe_migrate.rb:92:in `async_exec'
/src/db/migrate/20220104053343_add_bookmark_polymorphic_columns.rb:5:in `change'
/src/lib/freedom_patches/schema_migration_details.rb:9:in `block in exec_migration'
/src/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/src/lib/migration/safe_migrate.rb:28:in `migrate'
/src/lib/migration/safe_migrate.rb:55:in `migrate'
/src/lib/tasks/db.rake:218:in `block (2 levels) in <main>'
/src/lib/distributed_mutex.rb:33:in `block in synchronize'
/src/lib/distributed_mutex.rb:29:in `synchronize'
/src/lib/distributed_mutex.rb:29:in `synchronize'
/src/lib/distributed_mutex.rb:14:in `synchronize'
/src/lib/tasks/db.rake:210:in `block in <main>'
Caused by:
PG::DuplicateColumn: خطأ: العمود "bookmarkable_id" في العلاقة "bookmarks" موجود بالفعل
/src/lib/migration/safe_migrate.rb:92:in `async_exec'
/src/db/migrate/20220104053343_add_bookmark_polymorphic_columns.rb:5:in `change'
/src/lib/freedom_patches/schema_migration_details.rb:9:in `block in exec_migration'
/src/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/src/lib/migration/safe_migrate.rb:28:in `migrate'
/src/lib/migration/safe_migrate.rb:55:in `migrate'
/src/lib/tasks/db.rake:218:in `block (2 levels) in <main>'
/src/lib/distributed_mutex.rb:33:in `block in synchronize'
/src/lib/distributed_mutex.rb:29:in `synchronize'
/src/lib/distributed_mutex.rb:29:in `synchronize'
/src/lib/distributed_mutex.rb:14:in `synchronize'
/src/lib/tasks/db.rake:210:in `block in <main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
لقد حاولت القيام بما يلي:
d/rake db:migrate RAILS_ENV=development
لكنني انتهيت بنفس الخطأ. هل مر أي شخص بهذا من قبل؟
لدي شك في أنك تستخدم نفس قاعدة البيانات التي استخدمتها من قبل، لذا فقد تم ترحيلها بالفعل؟
في الواقع يا @hyphalos، أنا أتراجع عن كلامي، يمكنني تكرار هذا باستخدام أوامر shell التالية داخل الحاوية:
discourse@discourse:/src$ sudo su postgres -c 'psql discourse -c \"drop database discourse_test\"'
DROP DATABASE
discourse@discourse:/src$ sudo su postgres -c 'psql discourse -c \"create database discourse_test\"'
CREATE DATABASE
discourse@discourse:/src$ sudo su postgres -c 'psql -c \"grant all privileges on database discourse_test to discourse;\"'
GRANT
discourse@discourse:/src$ RAILS_ENV=test rake db:migrate
هل هناك شيء خاطئ هنا؟
يبدو أن هذا الترحيل يمكن أن يكون إشكاليًا؟:
== 20220104053343 AddBookmarkPolymorphicColumns: migrating ====================
-- add_column(:bookmarks, :bookmarkable_id, :integer)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::DuplicateColumn: ERROR: column "bookmarkable_id" of relation "bookmarks" already exist
وهو أمر غريب (؟) لأن:
discourse_test=> \d bookmarks
Table "public.bookmarks"
Column | Type | Collation | Nullable | Default
------------------------+--------------------------------+-----------+----------+---------------------------------------
id | bigint | | not null | nextval('bookmarks_id_seq'::regclass)
user_id | bigint | | not null |
post_id | bigint | | not null |
name | character varying(100) | | |
reminder_at | timestamp without time zone | | |
created_at | timestamp(6) without time zone | | not null |
updated_at | timestamp(6) without time zone | | not null |
reminder_last_sent_at | timestamp without time zone | | |
reminder_set_at | timestamp without time zone | | |
auto_delete_preference | integer | | not null | 0
pinned | boolean | | | false
for_topic | boolean | | not null | false
Indexes:
"bookmarks_pkey" PRIMARY KEY, btree (id)
"index_bookmarks_on_post_id" btree (post_id)
"index_bookmarks_on_reminder_at" btree (reminder_at)
"index_bookmarks_on_reminder_set_at" btree (reminder_set_at)
"index_bookmarks_on_user_id" btree (user_id)
"index_bookmarks_on_user_id_and_post_id_and_for_topic" UNIQUE, btree (user_id, post_id, for_topic)
هذا لا يؤثر على tests-passed على ما يبدو، فقط على الفرع stable؟
بفضل @RGJ، قد يلقي هذا بعض الضوء:
مع التحية: @pfaffman
مرحباً @Robert،
اعتقدت أنني فقدت عقلي، اعتقدت أنني الوحيد الذي يواجه هذا. لقد كافحت للعثور على حل بديل لهذا. لدي منشور سابق هنا حيث وجدت حلاً بديلاً لمشكلة الإشارات المرجعية، ولكني واجهت مشكلة أخرى:
هل يمكن لأحد أن يوجهني في الاتجاه الصحيح لإصلاح هذا؟
يحدث هذا عندما أحاول تشغيل d/boot_dev --init
تم إلغاء rake!
ActiveRecord::ConnectionNotEstablished: فشل الاتصال بالخادم على "127.0.0.1"، المنفذ 5432: تم رفض الاتصال
هل الخادم يعمل على هذا المضيف ويقبل اتصالات TCP/IP؟
فشل الاتصال بالخادم على "::1"، المنفذ 5432: لا يمكن تعيين العنوان المطلوب
هل الخادم يعمل على هذا المضيف ويقبل اتصالات TCP/IP؟
/src/config/initializers/006-ensure_login_hint.rb:8:in `block in <main>'
/src/config/environment.rb:7:in `<main>'
السبب:
PG::ConnectionBad: فشل الاتصال بالخادم على "127.0.0.1"، المنفذ 5432: تم رفض الاتصال
هل الخادم يعمل على هذا المضيف ويقبل اتصالات TCP/IP؟
فشل الاتصال بالخادم على "::1"، المنفذ 5432: لا يمكن تعيين العنوان المطلوب
هل الخادم يعمل على هذا المضيف ويقبل اتصالات TCP/IP؟
/src/config/initializers/006-ensure_login_hint.rb:8:in `block in <main>'
/src/config/environment.rb:7:in `<main>'
المهام: TOP => db:migrate => db:load_config => environment
(انظر التتبع الكامل عن طريق تشغيل المهمة مع --trace)
شكراً مقدماً على أي مساعدة ![]()
أواجه الخطأ التالي عند تشغيل d/boot_dev --init
...
...
...
== 20221219082223 AddIndexToChatMessages: migrated (0.0138s) ========
rake aborted!
Errno::ENOENT: No such file or directory @ rb_sysopen - /src/app/assets/javascripts//node_modules/loader.js/dist/loader/loader.js
/src/lib/pretty_text.rb:637:in `block in ctx_load'
/src/lib/pretty_text.rb:636:in `each'
/src/lib/pretty_text.rb:636:in `ctx_load'
/src/lib/pretty_text.rb:97:in `create_es6_context'
/src/lib/pretty_text.rb:144:in `block in v8'
/src/lib/pretty_text.rb:142:in `synchronize'
/src/lib/pretty_text.rb:142:in `v8'
/src/lib/pretty_text.rb:184:in `block in markdown'
/src/lib/pretty_text.rb:630:in `block in protect'
/src/lib/pretty_text.rb:629:in `synchronize'
/src/lib/pretty_text.rb:629:in `protect'
/src/lib/pretty_text.rb:183:in `markdown'
/src/lib/pretty_text.rb:328:in `cook'
/src/app/models/user_profile.rb:149:in `cooked'
/src/app/models/user_profile.rb:158:in `cook'
(eval):51:in `block (2 levels) in run_file'
/src/lib/tasks/db.rake:234:in `block (2 levels) in <main>'
/src/lib/distributed_mutex.rb:57:in `block in synchronize'
/src/lib/distributed_mutex.rb:53:in `synchronize'
/src/lib/distributed_mutex.rb:53:in `synchronize'
/src/lib/distributed_mutex.rb:38:in `synchronize'
/src/lib/tasks/db.rake:214:in `block in <main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)