Tive o mesmo erro que esta mensagem em uma instalação padrão durante uma atualização pelo navegador. O erro ocorreu durante as operações plugin:pull_compatible_all e multisite:migrate, e não durante a pré-compilação de ativos.
O erro:
SyntaxError: /var/www/discourse/lib/file_store/base_store.rb:96: syntax error, unexpected ','
download(*, **, print_deprecation: false)
O log completo da atualização copiado da interface do usuário no navegador:
********************************************************
*** Por favor, tenha paciência, as próximas etapas podem levar algum tempo ***
********************************************************
Reiniciando o Unicorn para liberar memória
Reiniciando o unicorn pid: 559
Aguardando o Unicorn recarregar.
Aguardando o Unicorn recarregar..
Aguardando o Unicorn recarregar...
Aguardando o Unicorn recarregar....
Aguardando o Unicorn recarregar.....
Aguardando o Unicorn recarregar......
Aguardando o Unicorn recarregar.......
Aguardando o Unicorn recarregar........
Parando 1(s) worker(s) do Unicorn para liberar memória
Parando a fila de jobs para recuperar memória, o pid do master é 15009
$ cd /var/www/discourse && git fetch --tags --force && git reset --hard HEAD@{upstream}
Usando openssl-signature_algorithm 1.2.1
Usando aws-sigv4 1.5.0
Usando faraday 2.7.2
Usando image_optim 0.31.2
Usando request_store 1.5.1
Usando logstash-logger 0.26.1
Usando message_bus 4.3.1
Usando mini_racer 0.6.3
Usando sidekiq 6.5.8
Usando mini_suffix 0.3.3
Usando oauth-tty 1.0.5
Usando snaky_hash 2.0.1
Usando omniauth 1.9.2
Usando pry 0.14.2
Usando puma 6.0.2
Usando rack-mini-profiler 3.0.0
Usando rack-protection 3.0.5
Usando rbtrace 0.4.14
Usando redis-namespace 1.9.0
Usando rqrcode 2.1.2
Usando rss 0.2.9
Usando sassc 2.0.1
Usando sprockets 3.7.2
Usando uglifier 4.2.0
Usando unf 0.1.4
Usando unicorn 6.1.0
Usando web-push 3.0.0
Usando loofah 2.19.1
Usando net-imap 0.3.1
Usando net-pop 0.1.2
Usando net-smtp 0.3.3
Usando cose 1.3.0
Usando css_parser 1.13.0
Usando ruby-readability 0.7.0
Usando sanitize 6.0.0
Usando ecma-re-validator 0.4.0
Usando activesupport 7.0.4.3
Usando rails-html-sanitizer 1.5.0
Usando globalid 1.0.1
Usando activemodel 7.0.4.3
Usando aws-sdk-core 3.130.2
Usando faraday-retry 2.0.0
Usando json_schemer 0.2.23
Usando mini_scheduler 0.15.0
Usando oauth 1.1.0
Usando oauth2 1.4.11
Usando pry-byebug 3.10.1
Usando pry-rails 0.3.9
Usando rails-dom-testing 2.0.3
Usando actionview 7.0.4.3
Usando activejob 7.0.4.3
Usando active_model_serializers 0.8.4
Usando activerecord 7.0.4.3
Usando aws-sdk-kms 1.56.0
Usando aws-sdk-sns 1.53.0
Usando omniauth-oauth2 1.7.3
Usando omniauth-oauth 1.2.0
Usando actionpack 7.0.4.3
Usando actionview_precompiler 0.2.3
Usando aws-sdk-s3 1.114.0
Usando discourse-seed-fu 2.3.12
Usando omniauth-facebook 9.0.0
Usando omniauth-github 1.4.0
Usando omniauth-google-oauth2 0.8.2
Usando omniauth-twitter 1.4.0
Usando railties 7.0.4.3
Usando sprockets-rails 3.4.2
Usando mail 2.8.0.edge from https://github.com/discourse/mail.git (at main@5b700fc)
Usando lograge 0.12.0
Usando rails_failover 0.8.1
Usando rails_multisite 4.0.1
Usando sassc-rails 2.1.2
Usando actionmailer 7.0.4.3
Instalando uri 0.12.2
Usando net-http 0.3.2
Bundle completo! 135 dependências do Gemfile, 171 gems agora instaladas.
Gems nos grupos 'test' e 'development' não foram instalados.
Gems agrupadas estão instaladas em `./vendor/bundle`
$ yarn install --production
yarn install v1.22.19
[1/5] Validando package.json...
[2/5] Resolvendo pacotes...
sucesso Já está atualizado.
$ yarn --cwd app/assets/javascripts/discourse $(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] Resolvendo pacotes...
[2/4] Buscando pacotes...
[3/4] Vinculando dependências...
[4/4] Construindo novos pacotes...
sucesso Arquivo lock salvo.
Concluído em 8.84s.
Concluído em 9.31s.
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
rake aborted!
SyntaxError: /var/www/discourse/lib/file_store/base_store.rb:96: syntax error, unexpected ','
download(*, **, print_deprecation: false)
^
/var/www/discourse/lib/file_store/base_store.rb:102: syntax error, unexpected ','
download(*, **, print_deprecation: false)
^
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.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.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/lib/file_store/local_store.rb:3:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.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.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/lib/tasks/posts.rake:3:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `each'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/application.rb:506:in `run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:464:in `load_tasks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/railtie.rb:226:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/railtie.rb:226:in `method_missing'
/var/www/discourse/Rakefile:9:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/bin/bundle:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/bin/bundle:25:in `<main>'
(Consulte o rastreamento completo executando a tarefa com --trace)
Não foi possível verificar as versões compatíveis dos plugins
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
rake aborted!
SyntaxError: /var/www/discourse/lib/file_store/base_store.rb:96: syntax error, unexpected ','
download(*, **, print_deprecation: false)
^
/var/www/discourse/lib/file_store/base_store.rb:102: syntax error, unexpected ','
download(*, **, print_deprecation: false)
^
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.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.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/lib/file_store/local_store.rb:3:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.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.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/lib/tasks/posts.rake:3:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `each'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:661:in `run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/application.rb:506:in `run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:464:in `load_tasks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/railtie.rb:226:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/railtie.rb:226:in `method_missing'
/var/www/discourse/Rakefile:9:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/bin/bundle:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/bin/bundle:25:in `<main>'
(Consulte o rastreamento completo executando a tarefa com --trace)
Docker Manager: FALHA NA ATUALIZAÇÃO
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:209: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.15.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.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:18:in `<main>'
Iniciando 1(s) worker(s) do Unicorn que foram parados inicialmente
Executar a atualização pelo console (git pull && ./launcher rebuild app, conforme mencionado aqui) disparou outro erro, mas não tenho certeza de qual é a mensagem de erro relevante aqui:
I, [2023-07-04T08:08:49.261121 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
- Construindo
- Construindo
- construindo...
- limpando
- limpando
Erro de Build (broccoli-persistent-filter:Babel > [Babel: @ember/test-helpers]) em @ember/test-helpers/-internal/build-registry.js
[BABEL]: --- PACOTE DE MARCADOR ---
Esta versão do @babel/plugin-proposal-private-property-in-object não foi feita para
ser importada. Algo está importando
@babel/plugin-proposal-private-property-in-object sem declará-lo em suas
dependências (ou devDependencies) no arquivo package.json.
Adicione "@babel/plugin-proposal-private-property-in-object" às suas devDependencies
para contornar este erro. Isso fará com que esta mensagem desapareça.
(Ao processar: /var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js)Erro: [BABEL]: --- PACOTE DE MARCADOR ---
Esta versão do @babel/plugin-proposal-private-property-in-object não foi feita para
ser importada. Algo está importando
@babel/plugin-proposal-private-property-in-object sem declará-lo em suas
dependências (ou devDependencies) no arquivo package.json.
Adicione "@babel/plugin-proposal-private-property-in-object" às suas devDependencies
para contornar este erro. Isso fará com que esta mensagem desapareça.
(Ao processar: /var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js)
at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-private-property-in-object/lib/index.js:28:7)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Module.require (node:internal/modules/cjs/loader:1143:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/available-plugins.js:62:46)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Module.require (node:internal/modules/cjs/loader:1143:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/filter-items.js:11:25)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Module.require (node:internal/modules/cjs/loader:1143:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js:16:20)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Module.require (node:internal/modules/cjs/loader:1143:19)
at require (node:internal/modules/cjs/helpers:110:18)
Rastreamento de pilha e relatório de erro: /tmp/error.dump.5abe6326cd5a415063a7ad1c85649486.log
erro Comando falhou com código de saída 1.
I, [2023-07-04T08:09:05.088181 #1] INFO -- : Verificando 'Video Upload' para 'default'... atualizado
yarn run v1.22.19
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
AVISO: Node v18.16.1 não foi testado com o Ember CLI na sua plataforma. Recomendamos que você use a versão mais recente "Active LTS" do Node.js. Veja https://git.io/v7S5n para detalhes.
Ambiente: produção
limpando...
info Visite https://yarnpkg.com/en/docs/cli/run para documentação sobre este comando.
I, [2023-07-04T08:09:05.089002 #1] INFO -- : Encerrando processos assíncronos
I, [2023-07-04T08:09:05.089274 #1] INFO -- : Enviando INT para HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
103:signal-handler (1688458145) Recebeu SIGTERM agendando desligamento...
I, [2023-07-04T08:09:05.089522 #1] INFO -- : Enviando TERM para exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
2023-07-04 08:09:05.089 UTC [42] LOG: recebido pedido de desligamento rápido
103:M 04 Jul 2023 08:09:05.183 # Solicitação de desligamento pelo usuário...
103:M 04 Jul 2023 08:09:05.183 * Salvando o snapshot RDB final antes de sair.
2023-07-04 08:09:05.186 UTC [42] LOG: abortando quaisquer transações ativas
2023-07-04 08:09:05.190 UTC [42] LOG: worker em segundo plano "lançador de replicação lógica" (PID 51) saiu com código de saída 1
2023-07-04 08:09:05.190 UTC [46] LOG: desligando
103:M 04 Jul 2023 08:09:05.388 * Banco de dados salvo no disco
103:M 04 Jul 2023 08:09:05.389 # Redis está pronto para sair, tchau tchau...
2023-07-04 08:09:05.431 UTC [42] LOG: sistema de banco de dados desligado
FALHA
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' falhou com retorno #<Process::Status: pid 2323 exit 1>
Localização da falha: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falhou com os parâmetros {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap falhou com código de saída 1
** FALHA NO BOOTSTRAP ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
f1dc57af807a68bb877ce724ea4a3424c77d39250b8ee20cb022194938925ce8
Reverti para o commit que eu tinha antes do git pull (cdc5f905a2f245171b9f53fb76f4ba947389fc6b) e reconstruí novamente, obtendo o mesmo erro.
Tentei ./discourse-doctor e ele falhou no mesmo erro do babel. Ele disse que a instalação usa plugins não oficiais e sugere que eu os desative, mas como posso fazer isso sem um aplicativo funcional? Todos os plugins foram instalados pela interface do navegador, não no app.yaml.
Quando reinicio o aplicativo, recebo um Ops - Erro 500 no navegador. Quando entro no aplicativo, /var/www/discourse/log/production.log mostra o mesmo Erro de Sintaxe, e a versão do ruby é de fato 3.1 (ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]).
O fórum está quebrado agora. Como posso corrigir a versão do ruby? Ou a reconstrução? Ou reverter para um aplicativo funcional?
Meu app.yml com os comentários removidos e os identificadores censurados:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
- "templates/sshd.template.yml"
- "templates/web.ratelimited.template.yml"
expose:
- "80:80"
- "443:443"
- "2222:22"
params:
db_default_text_search_config: "pg_catalog.english"
db_shared_buffers: "128MB"
version: stable
env:
LANG: en_US.UTF-8
UNICORN_WORKERS: 2
DISCOURSE_DEVELOPER_EMAILS: 'redacted'
DISCOURSE_HOSTNAME: 'redacted'
DISCOURSE_SMTP_ADDRESS: "redacted"
DISCOURSE_SMTP_PORT: 25
DISCOURSE_SMTP_USER_NAME: "redacted"
DISCOURSE_SMTP_PASSWORD: "redacted"
DISCOURSE_SMTP_ENABLE_START_TLS: true
LETSENCRYPT_ACCOUNT_EMAIL: "redacted"
DISCOURSE_MAXMIND_LICENSE_KEY: "redacted"
DISCOURSE_REFRESH_MAXMIND_DB_DURING_PRECOMPILE_DAYS: 0
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- mkdir -p plugins
- git clone https://github.com/discourse/docker_manager.git
run:
- exec: echo "Início dos comandos personalizados"
- exec: echo "Fim dos comandos personalizados"
- exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Chaves SSH autorizadas para este container:"; } NF>=2 {print $NF;}'