Сбой обновления с v3.0.1 до v3.0.2

Вот сообщение.
Я, [2023-03-23T15:14:16.270826 #1] INFO – : > cd /var/www/discourse && su discourse -c ‘bundle install --deployment --retry 3 --jobs 4 --verbose --without test development’
[УСТАРЕВШИЙ] Флаг --deployment устарел, так как он зависит от сохранения между вызовами bundler, чего bundler в будущих версиях делать больше не будет. Вместо этого используйте bundle config set --local deployment 'true' и прекратите использовать этот флаг.
[УСТАРЕВШИЙ] Флаг --without устарел, так как он зависит от сохранения между вызовами bundler, чего bundler в будущих версиях делать больше не будет. Вместо этого используйте bundle config set --local without 'test development' и прекратите использовать этот флаг.

Bundler::InstallError: web-push-3.0.0 требует версию ruby >= 3.0, что несовместимо с текущей версией 2.7.6
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:233:in block in ensure_specs_are_compatible!' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/spec_set.rb:155:in each’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/spec_set.rb:155:in each' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:231:in ensure_specs_are_compatible!’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:83:in block in run' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/process_lock.rb:12:in block in lock’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/process_lock.rb:9:in open' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/process_lock.rb:9:in lock’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:71:in run' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:23:in install’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli/install.rb:62:in run' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:260:in block in install’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/settings.rb:131:in temporary' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:259:in install’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in invoke_command’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/vendor/thor/lib/thor.rb:392:in dispatch' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:34:in dispatch’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/vendor/thor/lib/thor/base.rb:485:in start' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:28:in start’



Поиск gems [“powerbar”, “middleware”, “pattern-match”, “coffee-script-source”, “virtus”, “needle”, “jruby-pageant”, “bcrypt_pbkdf”, “rbnacl”, “rbnacl-libsodium”]
HTTP GET https://index.rubygems.org/info/middleware
HTTP 200 OK https://index.rubygems.org/info/middleware
Поиск gems [“ansi”, “descendants_tracker”, “axiom-types”, “coercible”, “equalizer”]
Поиск gems [“ice_nine”, “adamantium”]
Поиск gems [“memoizable”]

FAILED

Pups::ExecError: cd /var/www/discourse && su discourse -c ‘bundle install --deployment --retry 3 --jobs 4 --verbose --without test development’ завершился с ошибкой, код возврата #<Process::Status: pid 324 exit 5>
Место возникновения ошибки: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’
Выполнение не удалось с параметрами {“cd”=>“$home”, “hook”=>“bundle_exec”, “cmd”=>[“su discourse -c ‘bundle install --deployment --retry 3 --jobs 4 --verbose --without test development’”]}
Инициализация завершилась с кодом выхода 5
** ИНИЦИАЛИЗАЦИЯ НЕ УДАЛАСЬ ** Пожалуйста, прокрутите вверх и найдите более ранние сообщения об ошибках; их может быть несколько.
./discourse-doctor может помочь в диагностике проблемы.
58f4a7f8ec4aa127e0b28260dd525155e6d18554aa5a8bbd4b8036374e5b2fe5
make: *** [Makefile:44: build] Ошибка 1

Как мы можем обновить версию ruby до >= 3.0?

Какой у вас тип установки? Похоже, это не стандартная установка.

Насколько я понимаю, стандартную установку можно обновить через командную строку, хотя, возможно, потребуется два попытки. Если вы застряли на неправильной версии Ruby, значит, у вас нестандартная конфигурация.

Можете ли вы, пожалуйста, попробовать пересобрать через командную строку?

Вот мой файл app.yml.

templates:
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/weekly.report.template.yml"
nginx,

params:
  version: stable

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  DISCOURSE_HOSTNAME: 'XXXXXX.changeme.com'

  
  DISCOURSE_DEVELOPER_EMAILS: ''

  
  DISCOURSE_SMTP_ADDRESS: 127.0.0.1
  DISCOURSE_SMTP_PORT: 2525
  DISCOURSE_SMTP_ENABLE_START_TLS: false           # (опционально, по умолчанию true)
  
  
  DISCOURSE_DB_USERNAME: XXXXXX
  DISCOURSE_DB_PASSWORD: XXXXXXX
  DISCOURSE_DB_HOST: 172.17.0.1
  DISCOURSE_REDIS_HOST: 172.17.0.1

  
volumes:
  - volume:
      host: /var/discourse/shared/web-only
      guest: /shared
  - volume:
      host: /var/discourse/shared/web-only/log/var-log
      guest: /var/log

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-user-notes.git
    - exec:
        cd: $home
        cmd:
          - git fetch --tags
          - git checkout tags/v3.0.2
run:
  - exec: echo "Начало пользовательских команд"

  - exec: 
      cmd:
        - echo "Обновление ключа apt для Yarn"
        - "curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -"

  - exec:
      cmd:
        - echo "Добавление GCS-Fuse в образ"
        - "curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -"

  - file:
      path: /etc/apt/sources.list.d/gcsfuse.list
      contents: |
        deb http://packages.cloud.google.com/apt gcsfuse-buster main

  - exec:
      cmd:
        - apt-get -y update
        - apt-get -y install gcsfuse
        - mkdir -p /shared/bucket
        - echo "Завершено добавление GCS-Fuse в образ"


  - exec:
      cmd:
        - echo "Добавление PostgreSQL 14 в образ."
        - apt-get -y update
        - apt-get -y install postgresql-14
        - pg_dropcluster 13 main

  # Исправить патчи для резервных копий и загрузок, чтобы они указывали на бакет GCS
  - exec: ln -sf /shared/bucket/discourse/backups /var/www/discourse/public/
  - exec: ln -sf /shared/bucket/discourse/uploads /var/www/discourse/public/
  # Исправить еженедельные отчеты для синхронизации с бакетом GCS
  - exec: ln -sf /shared/bucket/weekly_reports /var/www/discourse/public/

  # Логирование в stdout, даже в продакшене, для обзора логов
  - replace:
      filename: /etc/nginx/conf.d/discourse.conf
      from: 'access_log /var/log/nginx/access.log log_discourse;'
      to: 'access_log /dev/stdout log_discourse;'

  - replace:
      filename: /var/www/discourse/config/unicorn.conf.rb
      from: 'if ENV["RAILS_ENV"] != "production"'
      to: 'if ENV["RAILS_ENV"] == "production"'
  - exec: 'echo "Rails.logger = Logger.new(STDOUT)" >> /var/www/discourse/config/application.rb'

  # Исправить rsync для gcsfuse и восстановления (b/226700873#comment8)
  - replace:
      filename: /var/www/discourse/lib/file_store/local_store.rb
      from: "'rsync', '-a', '--safe-links', \"#{source_path}/\", \"#{upload_path}/\","
      to: "'rsync', '-a', '--safe-links', \"#{source_path}/\", \"#{upload_path}/\", '--inplace', '--no-times', '--update', '--no-perms', '--no-owner', '--no-group',"
        
        
  - exec: echo "Конец пользовательских команд"
  - exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Разрешенные SSH-ключи для этого контейнера:"; } NF>=2 {print $NF;}'