Reconstrucción fallida con error

Mi foro funciona bien por un tiempo, y al intentar actualizar desde la versión actual 2.8.0.beta7, muestra un error de


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 -- :

No sé por qué la dependencia del gem es inconsistente.

Esto es lo que hice:

  1. Iniciar sesión en el servidor y hacer github pull
  2. hacer ./launcher rebuild app
    2.1 no hay ningún otro plugin excepto docker-manager
  3. Lo intenté varias veces, y también ./discourse-docter, pero me mostró el mismo error.
  4. Tengo un contenedor data que almacena los datos.

Por favor, ayúdenme ya que el sitio está fuera de servicio :frowning:

Intenta reconstruir el contenedor de datos y luego el contenedor web.

gracias por responder.

Intenté reconstruir el contenedor de datos, pero todavía tengo el mismo error.

Puede que veas si

  ./launcher start app

Reiniciará el foro

Lo siento, eso no funcionará ya que no hay un contenedor de aplicaciones.

Sin embargo, cambié la versión de tests-passed a stable, y entonces pude instalar todas las gemas. El foro volvió a estar en línea. No estoy seguro de cuál es la diferencia y por qué es así.

1 me gusta

Entonces deberías haber usado el nombre de tu contenedor.

    ./launcher start web_only

¡Pero tu solución funcionó!

Lo siento, lo que quiero decir es que establecí el archivo yml en data.yml, por lo que podría ser
./launcher start data
Sin embargo, durante la compilación, hubo un error, el contenedor de Docker no pudo ser construido. Así que no creo que sea posible iniciarlo con el cli anterior.

De todos modos, si alguien ve algo similar o encuentra la solución, por favor compártala aquí.
Gracias.

Por favor, comparte tu lista de plugins de app.yml. Tienes un plugin que entra en conflicto con la última versión de Discourse.

1 me gusta

¿Pero no lo intentaste? Por lo general, puedes reiniciar el contenedor antiguo/existente si una reconstrucción falla.

Esto es difícil de entender.

Parece claro que es un problema de plugin, pero él también dijo.

Pero desde

Entonces, parece que ha vuelto a estar en línea.

2 Me gusta

Tienes razón, ./launcher start app iniciará el contenedor antiguo.

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

Este es el único plugin que tengo.

Lo intenté de nuevo, solo con este plugin, puedo confirmar que si cambio la versión a tests-passed, fallará con el error anterior. Pero si cambio a stable, funciona bien.

De hecho, cuando pongo más plugins con la versión stable, todavía puedo compilar la aplicación. Así que no creo que sea realmente un problema de los plugins en mi caso.