Reconstruction échouée avec une erreur

Mon forum fonctionne bien pendant un certain temps, et en essayant de mettre à niveau depuis la version actuelle 2.8.0.beta7, une erreur s’affiche :


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

Je ne comprends pas pourquoi la dépendance des gems est incohérente.

Voici ce que j’ai fait :

  1. Connexion au serveur et exécution de github pull
  2. Exécution de ./launcher rebuild app
    2.1 Il n’y a pas d’autre plugin que docker-manager
  3. J’ai essayé plusieurs fois, et aussi ./discourse-docter, mais la même erreur s’est produite.
  4. J’ai un conteneur data qui stocke les données.

S’il vous plaît, aidez-moi car le site est hors ligne :frowning:

Essayez de reconstruire le conteneur de données, puis le conteneur web.

Merci pour votre réponse.

J’ai essayé de reconstruire le conteneur de données, mais la même erreur persiste.

Vous pourriez voir si

  ./launcher start app

Redémarre le forum

Désolé, cela ne fonctionnera pas car il n’y a pas de conteneur d’application.

Cependant, j’ai changé la version de tests-passed à stable, puis j’ai pu installer toutes les gemmes. Le forum est de nouveau en ligne. Je ne suis pas sûr de la différence, ni de la raison.

1 « J'aime »

Ensuite, vous auriez dû utiliser le nom de votre conteneur.

    ./launcher start web_only

Mais votre solution a fonctionné !

Désolé, ce que je veux dire, c’est que j’ai configuré le fichier yml sur data.yml, donc cela pourrait être
./launcher start data
Cependant, lors de la construction, il y a eu une erreur, le conteneur Docker n’a pas pu être construit. Je ne pense donc pas qu’il soit possible de le démarrer avec la CLI ci-dessus.

Quoi qu’il en soit, si quelqu’un voit quelque chose de similaire, ou trouve une solution, merci de la partager ici.

Merci.

Veuillez partager votre liste de plugins app.yml. Vous avez un plugin qui entre en conflit avec la dernière version de Discourse.

1 « J'aime »

Mais vous n’avez pas essayé ? Vous pouvez généralement redémarrer le conteneur existant/ancien si une reconstruction échoue.

C’est difficile à comprendre.

Il semble clair qu’il s’agit d’un problème de plugin, mais il a également dit :

Mais depuis

Donc, il semble qu’il soit de retour en ligne.

2 « J'aime »

Vous avez raison, ./launcher start app démarrera l’ancien conteneur.

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

C’est le seul plugin que j’ai.

J’ai réessayé, avec uniquement ce plugin, je peux confirmer que si je change la version en tests-passed, cela échoue avec l’erreur ci-dessus. Mais si je change en stable, cela fonctionne bien.

En fait, lorsque j’ajoute plus de plugins avec la version stable, je suis toujours capable de compiler l’application. Donc, je ne pense pas que ce soit vraiment un problème de plugins dans mon cas.