Ricostruzione fallita con errore

Il mio forum funziona bene per un po’, e provando ad aggiornare dalla versione corrente 2.8.0.beta7, mostra un errore di


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

Non capisco perché la dipendenza delle gem sia incoerente.

Questo è quello che ho fatto:

  1. ho effettuato l’accesso al server ed eseguito github pull
  2. ho eseguito ./launcher rebuild app
    2.1 non c’è nessun altro plugin tranne docker-manager
  3. Ho provato alcune volte, e anche ./discourse-docter, ma ha mostrato lo stesso errore.
  4. Ho un container data che memorizza i dati.

Per favore, aiutami perché il sito è offline :frowning:

Prova a ricreare prima il data container e poi il web container.

grazie per la risposta.

Ho provato a ricostruire il data container, ma l’errore è lo stesso.

Potresti vedere se

  ./launcher start app

Riavvierà il forum

Mi dispiace, non funzionerà perché non c’è un contenitore di app.

Tuttavia, ho cambiato la versione da tests-passed a stable, quindi sono in grado di installare tutte le gemme. Il forum è di nuovo online. Non sono sicuro di quale sia la differenza e perché sia così.

1 Mi Piace

Allora avresti dovuto usare il nome del tuo contenitore.

    ./launcher start web_only

Ma la tua soluzione ha funzionato!

Mi dispiace, quello che intendo è che ho impostato il file yml su data.yml, quindi potrebbe essere
./launcher start data
Tuttavia, durante la compilazione si è verificato un errore, il container docker non è stato in grado di essere creato. Quindi non penso sia possibile avviarlo tramite la cli sopra.
Comunque, se qualcuno riscontra qualcosa di simile, o trova la soluzione, per favore condividila qui.
Grazie.

Per favore, condividi il tuo elenco di plugin app.yml. Hai un plugin che è in conflitto con l’ultima versione di Discourse.

1 Mi Piace

Ma non ci hai provato? Di solito puoi riavviare il container vecchio/esistente se una ricompilazione fallisce.

È difficile da capire.

Sembra chiaro che si tratti di un problema di plugin, ma ha anche detto.

Ma da quando

Quindi, sembra che sia di nuovo online.

2 Mi Piace

Hai ragione, ./launcher start app avvierà il vecchio container.

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

Questo è l’unico plugin che ho.

Ho riprovato, con solo questo plugin, posso confermare che se cambio la versione in tests-passed, fallirà con l’errore sopra. Ma se cambio in stable, funziona bene.

In realtà, quando metto più plugin con versione stable, sono ancora in grado di creare l’app. Quindi non penso che sia davvero un problema dei plugin nel mio caso.