Reconstrução falhou com erro

Meu fórum funciona bem por um tempo, e ao tentar atualizar da versão atual 2.8.0.beta7, ele mostra um erro 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 -- :

Não sei por que a dependência do gem está inconsistente.

Isto é o que eu fiz:

  1. login no servidor e fazer github pull
  2. fazer ./launcher rebuild app
    2.1 não há outro plugin além do docker-manager
  3. Tentei algumas vezes, e também ./discourse-docter, mas o mesmo erro apareceu.
  4. Tenho um container data que armazena os dados.

Por favor, ajude, pois o site está offline :frowning:

Tente reconstruir o contêiner de dados e, em seguida, o contêiner da web.

Obrigado pela resposta.

Tentei reconstruir o contêiner de dados, mas o erro ainda é o mesmo.

Você pode tentar ver se

  ./launcher start app

Reiniciará o fórum

Desculpe, isso não funcionará, pois não há um contêiner de aplicativo.

No entanto, alterei a versão de tests-passed para stable, então consigo instalar todos os gems. O fórum está online novamente. Não tenho certeza qual é a diferença e por que isso acontece.

1 curtida

Então você deveria ter usado o nome do seu contêiner.

    ./launcher start web_only

Mas sua solução funcionou!

Desculpe, o que quero dizer é que defini o arquivo yml como data.yml, então poderia ser
./launcher start data

No entanto, durante a compilação, ocorreu um erro, o contêiner docker não pôde ser criado. Portanto, não acho que seja possível iniciá-lo pela CLI acima.

De qualquer forma, se alguém vir algo semelhante ou encontrar a solução, por favor, compartilhe aqui.

Obrigado.

Por favor, compartilhe sua lista de plugins app.yml. Você tem um plugin que entra em conflito com o Discourse mais recente.

1 curtida

Mas você não tentou? Geralmente é possível reiniciar o contêiner antigo/existente se uma reconstrução falhar.

Isso é difícil de entender.

Parece claro que é um problema de plugin, mas ele também disse.

Mas desde

Então, parece que ele está de volta online.

2 curtidas

Você está certo, ./launcher start app iniciará o contêiner antigo.

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

Este é o único plugin que tenho.

Tentei novamente, com apenas este plugin, posso confirmar que se eu mudar a versão para tests-passed, ele falhará com o erro acima. Mas se eu mudar para stable, funciona bem.

Na verdade, quando coloco mais plugins com a versão stable, ainda consigo compilar o aplicativo. Então não acho que seja realmente um problema dos plugins no meu caso.