فشل إعادة البناء مع وجود خطأ

تعمل لوحتي الإعلانية بشكل جيد لفترة من الوقت، وعند محاولة الترقية من الإصدار الحالي 2.8.0.beta7، ظهر خطأ:


I, [2022-05-17T07:29:17.860652 #1]  INFO -- : 
> cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
bundler: failed to load command: rake (/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/rake)
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/runtime.rb:309:in `check_for_activated_spec!': You have already activated uri 0.10.0, but your Gemfile requires uri 0.11.0. Since uri is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports uri as a default gem. (Gem::LoadError)
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/runtime.rb:25:in `block in setup'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/spec_set.rb:136:in `each'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/spec_set.rb:136:in `each'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/runtime.rb:24:in `map'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/runtime.rb:24:in `setup'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler.rb:151:in `setup'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/setup.rb:20:in `block in <top (required)>'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/ui/shell.rb:136:in `with_level'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/ui/shell.rb:88:in `silence'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/setup.rb:20:in `<top (required)>'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli/exec.rb:56:in `require_relative'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli/exec.rb:56:in `kernel_load'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli/exec.rb:23:in `run'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli.rb:483:in `exec'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli.rb:31:in `dispatch'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli.rb:25:in `start'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/exe/bundle:48:in `block in <top (required)>'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/exe/bundle:36:in `<top (required)>'
        from /usr/local/bin/bundle:23:in `load'
        from /usr/local/bin/bundle:23:in `<main>'
I, [2022-05-17T07:29:18.139287 #1]  INFO -- :

لا أعرف سبب عدم اتساق تبعيات الجيم.

هذا ما فعلته:

  1. تسجيل الدخول إلى الخادم وتنفيذ github pull
  2. تنفيذ ./launcher rebuild app
    2.1 لا يوجد أي مكون إضافي آخر باستثناء docker-manager
  3. حاولت عدة مرات، وكذلك ./discourse-docter، ولكن ظهر نفس الخطأ.
  4. لدي حاوية data تخزن البيانات.

أرجو المساعدة لأن الموقع معطل :frowning:

حاول إعادة بناء حاوية البيانات ثم حاوية الويب.

شكرا على الرد.

لقد حاولت إعادة بناء حاوية البيانات، ولكن لا يزال نفس الخطأ.

قد ترى إذا

  ./launcher start app

سيؤدي إلى إعادة تشغيل المنتدى

عذرًا، لن ينجح ذلك لأنه لا يوجد حاوية تطبيقات.

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

إعجاب واحد (1)

إذًا، كان يجب عليك استخدام اسم الحاوية الخاصة بك.

    ./launcher start web_only

لكن حلك نجح!

عذرًا، ما أعنيه هو أنني قمت بتعيين ملف yml إلى data.yml، لذلك يمكن أن يكون
./launcher start data
ومع ذلك، أثناء البناء حدث خطأ، ولم يتمكن حاوية docker من البناء. لذلك لا أعتقد أنه من الممكن البدء به عبر سطر الأوامر أعلاه.
على أي حال، إذا رأى أي شخص شيئًا مشابهًا، أو وجد الحل، فيرجى مشاركته هنا.
شكرا.

يرجى مشاركة قائمة الإضافات في ملف app.yml الخاص بك. لديك إضافة تتعارض مع أحدث إصدار من Discourse.

إعجاب واحد (1)

لكنك لم تحاول؟ يمكنك عادةً إعادة تشغيل الحاوية القديمة/الحالية إذا فشل إعادة البناء.

هذا صعب الفهم.

يبدو أن المشكلة تتعلق بإضافة، لكنه قال أيضًا.

ولكن منذ

لذلك، يبدو أنه عاد للعمل.

إعجابَين (2)

أنت على حق، ./launcher start app سيبدأ الحاوية القديمة.

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

هذه هي الإضافة الوحيدة لدي.

حاولت مرة أخرى، مع هذا المكون الإضافي فقط، يمكنني التأكيد إذا قمت بتغيير الإصدار إلى tests-passed، فسيفشل مع الخطأ أعلاه. ولكن إذا قمت بالتغيير إلى stable، فإنه يعمل بشكل جيد.

في الواقع، عندما أضع المزيد من المكونات الإضافية بالإصدار stable، ما زلت قادرًا على بناء التطبيق. لذلك لا أعتقد أنها مشكلة المكونات الإضافية حقًا في حالتي.