我刚刚响应了一个“一键升级”的电子邮件通知,将我的当前版本 3.0.1 升级到 3.0.3 的新安全和错误修复版本。
最初的 Docker Manager 升级一切顺利(根据升级网页中的升级进度报告),但当我随后点击“全部升级”来升级显示有新版本可用的其余 discourse 组件时,却失败了,导致我的网站离线。
奇怪的是,在随后的升级进度报告窗口中再次提到了 Docker Manager,尽管它已经单独升级过了——这次报告说它“升级失败”和“RuntimeError”。
我是否正确地认为这是由于我的 Digital Ocean droplet 上安装的 Ruby 版本过旧(v3.1,而不是 v3.2)?如果是这样,我希望更新说明中会提到任何此类新依赖项(以前的更新没有这个问题),如果不是由一键安装程序更优雅地处理的话?
以下是该后续升级进度报告窗口的内容:
********************************************************
*** 请耐心等待,下一步可能需要一段时间 ***
********************************************************
正在循环 Unicorn,以释放内存
正在重启 unicorn pid: 575
等待 Unicorn 重新加载。
等待 Unicorn 重新加载..
等待 Unicorn 重新加载...
等待 Unicorn 重新加载....
等待 Unicorn 重新加载.....
等待 Unicorn 重新加载......
等待 Unicorn 重新加载.......
等待 Unicorn 重新加载........
等待 Unicorn 重新加载.........
正在使用 net-protocol 0.2.1
正在获取 addressable 2.8.4
正在安装 addressable 2.8.4
正在使用 aws-sigv4 1.5.0
正在使用 openssl-signature_algorithm 1.3.0
正在使用 sprockets 3.7.2 来自 https://github.com/rails/sprockets (在 3.x@f4d3dae)
正在使用 request_store 1.5.1
正在使用 message_bus 4.3.2
正在使用 pry 0.14.2
正在获取 rack-mini-profiler 3.1.0
正在安装 rack-mini-profiler 3.1.0
正在获取 rack-protection 3.0.6
正在安装 rack-protection 3.0.6
正在使用 ecma-re-validator 0.4.0
正在使用 faraday 2.7.4
正在使用 image_optim 0.31.3
正在使用 logstash-logger 0.26.1
正在使用 mini_racer 0.6.3
正在使用 mini_suffix 0.3.3
正在使用 omniauth 1.9.2
正在使用 uglifier 4.2.0
正在使用 web-push 3.0.0
正在使用 sidekiq 6.5.8
正在使用 redis-namespace 1.10.0
正在使用 net-http 0.3.2
正在使用 oauth-tty 1.0.5
正在使用 snaky_hash 2.0.1
正在使用 activesupport 7.0.4.3
正在获取 sass-embedded 1.62.0 (x86_64-linux-gnu)
正在安装 sass-embedded 1.62.0 (x86_64-linux-gnu)
正在使用 rqrcode 2.1.2
正在使用 rss 0.2.9
正在获取 tzinfo-data 1.2023.3
正在安装 tzinfo-data 1.2023.3
正在使用 unf 0.1.4
正在使用 unicorn 6.1.0
正在获取 loofah 2.20.0
正在安装 loofah 2.20.0
正在使用 ruby-readability 0.7.0
正在使用 sanitize 6.0.1
正在使用 net-imap 0.3.4
正在使用 net-pop 0.1.2
正在使用 net-smtp 0.3.3
正在使用 css_parser 1.14.0
正在使用 aws-sdk-core 3.130.2
正在使用 cose 1.3.0
正在使用 pry-byebug 3.10.1
正在使用 pry-rails 0.3.9
正在使用 json_schemer 0.2.23
正在使用 faraday-retry 2.1.0
正在使用 oauth2 1.4.11
正在使用 rtlcss 0.2.0
正在使用 rails-dom-testing 2.0.3
正在使用 globalid 1.1.0
正在使用 activemodel 7.0.4.3
正在使用 mini_scheduler 0.15.0
正在使用 oauth 1.1.0
正在使用 dartsass-ruby 3.0.1
正在使用 rails-html-sanitizer 1.5.0
正在获取 mail 2.8.1
正在安装 mail 2.8.1
正在使用 aws-sdk-kms 1.56.0
正在使用 aws-sdk-sns 1.53.0
正在使用 actionview 7.0.4.3
正在使用 activejob 7.0.4.3
正在使用 active_model_serializers 0.8.4
正在使用 activerecord 7.0.4.3
正在使用 omniauth-oauth2 1.7.3
正在使用 omniauth-oauth 1.2.0
正在使用 aws-sdk-s3 1.114.0
正在使用 actionpack 7.0.4.3
正在使用 actionview_precompiler 0.2.3
正在使用 discourse-seed-fu 2.3.12
正在使用 omniauth-facebook 9.0.0
正在使用 omniauth-github 1.4.0
正在使用 omniauth-google-oauth2 0.8.2
正在使用 omniauth-twitter 1.4.0
正在使用 actionmailer 7.0.4.3
正在使用 railties 7.0.4.3
正在使用 sprockets-rails 3.4.2
正在使用 dartsass-sprockets 3.0.0
正在使用 lograge 0.12.0
正在获取 rails_failover 1.0.0
正在安装 rails_failover 1.0.0
正在使用 rails_multisite 4.0.1
正在获取 puma 6.2.2
正在安装 puma 6.2.2(使用原生扩展)
正在使用 bootsnap 1.16.0
正在使用 rbtrace 0.4.14
Bundle 完成!已安装 136 个 Gemfile 依赖项,174 个 gem。
'test' 和 'development' 组中的 Gems 未安装。
Bundled gems 已安装到 `./vendor/bundle`
$ yarn install --production
yarn install v1.22.19
[1/5] 正在验证 package.json...
[2/5] 正在解析包...
[3/5] 正在获取包...
[4/5] 正在链接依赖项...
警告“ > @mixer/parallel-prettier@2.0.3”有未满足的对等依赖项“prettier@^2.0.0”。
警告“eslint-config-discourse > eslint-plugin-lodash@7.1.0”有未满足的对等依赖项“lodash@>=4”。
[5/5] 正在构建新包...
$ yarn --cwd app/assets/javascripts $(node -e 'if(JSON.parse(process.env.npm_config_argv).original.includes(`--frozen-lockfile`)){console.log(`--frozen-lockfile`)}')
yarn install v1.22.19
[1/4] 正在解析包...
[2/4] 正在获取包...
[3/4] 正在链接依赖项...
警告“ > babel-plugin-debug-macros@0.4.0-pre1”有未满足的对等依赖项“@babel/core@^7.0.0”。
警告“workspace-aggregator-61483bea-5d74-44aa-a245-abffc0a6319e > discourse > @uppy/aws-s3@3.0.6”有不正确的对等依赖项“@uppy/core@^3.1.2”。
警告“workspace-aggregator-61483bea-5d74-44aa-a245-abffc0a6319e > discourse > @uppy/aws-s3-multipart@3.1.3”有不正确的对等依赖项“@uppy/core@^3.1.2”。
警告“workspace-aggregator-61483bea-5d74-44aa-a245-abffc0a6319e > discourse > @uppy/xhr-upload@3.1.1”有不正确的对等依赖项“@uppy/core@^3.1.2”。
[4/4] 正在构建新包...
成功 保存 lockfile。
$ patch-package
patch-package 6.5.1
正在应用补丁...
@ember/jquery@2.0.0 ✔
virtual-dom@2.1.1 ✔
完成于 23.96s。
完成于 40.79s。
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
Discourse 需要 Ruby 3.2 或更高版本
无法检出兼容的插件版本
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
Discourse 需要 Ruby 3.2 或更高版本
Docker Manager: 升级失败
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:202:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:101:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/commands/runner/runner_command.rb:43:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/command/base.rb:87:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/command.rb:48:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/commands.rb:18:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:18:in `<main>'
正在启动 1 个最初停止的 Unicorn 工作进程
我将通过 Putty 按照步骤重建我的网站,但会报告以上内容,以防安装程序存在错误。
