Ho riscontrato lo stesso errore di questo messaggio durante un’installazione standard in fase di aggiornamento dal browser. L’errore si è verificato durante le operazioni plugin:pull_compatible_all e multisite:migrate, non durante la precompilazione degli asset.
L’errore:
SyntaxError: /var/www/discourse/lib/file_store/base_store.rb:96: syntax error, unexpected ','
download(*, **, print_deprecation: false)
Il registro completo dell’aggiornamento copiato dall’interfaccia utente nel browser:
********************************************************
*** Si prega di attendere, i passaggi successivi potrebbero richiedere del tempo ***
********************************************************
Riavvio di Unicorn per liberare memoria
Riavvio di unicorn pid: 559
In attesa del ricaricamento di Unicorn.
In attesa del ricaricamento di Unicorn..
In attesa del ricaricamento di Unicorn...
In attesa del ricaricamento di Unicorn....
In attesa del ricaricamento di Unicorn.....
In attesa del ricaricamento di Unicorn......
In attesa del ricaricamento di Unicorn.......
In attesa del ricaricamento di Unicorn........
Arresto di 1 worker di Unicorn per liberare memoria
Arresto della coda dei job per recuperare memoria, master pid è 15009
$ cd /var/www/discourse && git fetch --tags --force && git reset --hard HEAD@{upstream}
Uso di openssl-signature_algorithm 1.2.1
Uso di aws-sigv4 1.5.0
Uso di faraday 2.7.2
Uso di image_optim 0.31.2
Uso di request_store 1.5.1
Uso di logstash-logger 0.26.1
Uso di message_bus 4.3.1
Uso di mini_racer 0.6.3
Uso di sidekiq 6.5.8
Uso di mini_suffix 0.3.3
Uso di oauth-tty 1.0.5
Uso di snaky_hash 2.0.1
Uso di omniauth 1.9.2
Uso di pry 0.14.2
Uso di puma 6.0.2
Uso di rack-mini-profiler 3.0.0
Uso di rack-protection 3.0.5
Uso di rbtrace 0.4.14
Uso di redis-namespace 1.9.0
Uso di rqrcode 2.1.2
Uso di rss 0.2.9
Uso di sassc 2.0.1
Uso di sprockets 3.7.2
Uso di uglifier 4.2.0
Uso di unf 0.1.4
Uso di unicorn 6.1.0
Uso di web-push 3.0.0
Uso di loofah 2.19.1
Uso di net-imap 0.3.1
Uso di net-pop 0.1.2
Uso di net-smtp 0.3.3
Uso di cose 1.3.0
Uso di css_parser 1.13.0
Uso di ruby-readability 0.7.0
Uso di sanitize 6.0.0
Uso di ecma-re-validator 0.4.0
Uso di activesupport 7.0.4.3
Uso di rails-html-sanitizer 1.5.0
Uso di globalid 1.0.1
Uso di activemodel 7.0.4.3
Uso di aws-sdk-core 3.130.2
Uso di faraday-retry 2.0.0
Uso di json_schemer 0.2.23
Uso di mini_scheduler 0.15.0
Uso di oauth 1.1.0
Uso di oauth2 1.4.11
Uso di pry-byebug 3.10.1
Uso di pry-rails 0.3.9
Uso di rails-dom-testing 2.0.3
Uso di actionview 7.0.4.3
Uso di activejob 7.0.4.3
Uso di active_model_serializers 0.8.4
Uso di activerecord 7.0.4.3
Uso di aws-sdk-kms 1.56.0
Uso di aws-sdk-sns 1.53.0
Uso di omniauth-oauth2 1.7.3
Uso di omniauth-oauth 1.2.0
Uso di actionpack 7.0.4.3
Uso di actionview_precompiler 0.2.3
Uso di aws-sdk-s3 1.114.0
Uso di discourse-seed-fu 2.3.12
Uso di omniauth-facebook 9.0.0
Uso di omniauth-github 1.4.0
Uso di omniauth-google-oauth2 0.8.2
Uso di omniauth-twitter 1.4.0
Uso di railties 7.0.4.3
Uso di sprockets-rails 3.4.2
Uso di mail 2.8.0.edge da https://github.com/discourse/mail.git (at main@5b700fc)
Uso di lograge 0.12.0
Uso di rails_failover 0.8.1
Uso di rails_multisite 4.0.1
Uso di sassc-rails 2.1.2
Uso di actionmailer 7.0.4.3
Installazione di uri 0.12.2
Uso di net-http 0.3.2
Bundle completo! 135 dipendenze del Gemfile, 171 gemme ora installate.
Le gemme nei gruppi 'test' e 'development' non sono state installate.
Le gemme del bundle sono installate in `./vendor/bundle`
$ yarn install --production
yarn install v1.22.19
[1/5] Validazione di package.json...
[2/5] Risoluzione dei pacchetti...
success Già aggiornato.
$ 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] Risoluzione dei pacchetti...
[2/4] Recupero dei pacchetti...
[3/4] Collegamento delle dipendenze...
[4/4] Costruzione di nuovi pacchetti...
success File lock salvato.
Completato in 8.84s.
Completato in 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>'
(Vedi la traccia completa eseguendo il task con --trace)
Impossibile controllare le versioni compatibili dei plugin
$ 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>'
(Vedi la traccia completa eseguendo il task con --trace)
Docker Manager: AGGIORNAMENTO FALLITO
#<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>'
Avvio di 1 worker di Unicorn che era stato inizialmente arrestato
Eseguendo l’aggiornamento dalla console (git pull && ./launcher rebuild app, come menzionato qui) si è verificato un altro errore, ma non sono sicuro di quale sia il messaggio di errore rilevante qui:
I, [2023-07-04T08:08:49.261121 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
- Costruzione
- Costruzione
- costruzione...
- pulizia
- pulizia
Errore di costruzione (broccoli-persistent-filter:Babel > [Babel: @ember/test-helpers]) in @ember/test-helpers/-internal/build-registry.js
[BABEL]: --- PACCHETTO SEGNALETICO ---
Questa versione di @babel/plugin-proposal-private-property-in-object non è destinata
all'importazione. Qualcosa sta importando
@babel/plugin-proposal-private-property-in-object senza dichiararlo nelle sue
dipendenze (o devDependencies) nel file package.json.
Aggiungi "@babel/plugin-proposal-private-property-in-object" alle tue devDependencies
per aggirare questo errore. Questo farà scomparire questo messaggio.
(Mentre si processava: /var/www/discourse/app/assets/javascripts/node_modules/@babel/preset-env/lib/index.js)Errore: [BABEL]: --- PACCHETTO SEGNALETICO ---
Questa versione di @babel/plugin-proposal-private-property-in-object non è destinata
all'importazione. Qualcosa sta importando
@babel/plugin-proposal-private-property-in-object senza dichiararlo nelle sue
dipendenze (o devDependencies) nel file package.json.
Aggiungi "@babel/plugin-proposal-private-property-in-object" alle tue devDependencies
per aggirare questo errore. Questo farà scomparire questo messaggio.
(Mentre si processava: /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)
Traccia dello stack e rapporto dell'errore: /tmp/error.dump.5abe6326cd5a415063a7ad1c85649486.log
errore Comando fallito con codice di uscita 1.
I, [2023-07-04T08:09:05.088181 #1] INFO -- : Controllo di 'Video Upload' per 'default'... aggiornato
yarn run v1.22.19
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
AVVISO: Node v18.16.1 non è stato testato con Ember CLI sulla tua piattaforma. Si consiglia di utilizzare la versione più recente "Active LTS" di Node.js. Vedi https://git.io/v7S5n per i dettagli.
Ambiente: produzione
pulizia in corso...
info Visita https://yarnpkg.com/en/docs/cli/run per documentazione su questo comando.
I, [2023-07-04T08:09:05.089002 #1] INFO -- : Terminazione dei processi asincroni
I, [2023-07-04T08:09:05.089274 #1] INFO -- : Invio di INT a 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) SIGTERM ricevuto, pianificazione dello spegnimento...
I, [2023-07-04T08:09:05.089522 #1] INFO -- : Invio di TERM a 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: richiesta di spegnimento rapido ricevuta
103:M 04 Jul 2023 08:09:05.183 # Shutdown richiesto dall'utente...
103:M 04 Jul 2023 08:09:05.183 * Salvataggio dell'ultimo snapshot RDB prima dell'uscita.
2023-07-04 08:09:05.186 UTC [42] LOG: annullamento di eventuali transazioni attive
2023-07-04 08:09:05.190 UTC [42] LOG: worker in background "logical replication launcher" (PID 51) uscito con codice di uscita 1
2023-07-04 08:09:05.190 UTC [46] LOG: spegnimento in corso
103:M 04 Jul 2023 08:09:05.388 * DB salvato su disco
103:M 04 Jul 2023 08:09:05.389 # Redis è ora pronto ad uscire, arrivederci...
2023-07-04 08:09:05.431 UTC [42] LOG: sistema di database spento
FALLITO
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' fallito con ritorno #<Process::Status: pid 2323 exit 1>
Posizione del fallimento: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec fallito con i parametri {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap fallito con codice di uscita 1
** BOOTSTRAP FALLITO ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor potrebbe aiutare a diagnosticare il problema.
f1dc57af807a68bb877ce724ea4a3424c77d39250b8ee20cb022194938925ce8
Ho ripristinato il commit precedente al git pull (cdc5f905a2f245171b9f53fb76f4ba947389fc6b) e ho ricostruito di nuovo ottenendo lo stesso errore.
Ho provato ./discourse-doctor ed è fallito con lo stesso errore babel. Ha detto che l’installazione utilizza plugin non ufficiali e suggerisce di disattivarli, ma come posso farlo senza un’app funzionante? Tutti i plugin sono stati installati dall’interfaccia del browser, non in app.yaml.
Quando riavvio l’app ricevo un Oops - Errore 500 nel browser. Quando accedo all’app, /var/www/discourse/log/production.log mostra lo stesso errore di sintassi, e la versione di ruby è effettivamente 3.1 (ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]).
Il forum è ora rotto. Come posso risolvere la versione di ruby? O la ricostruzione? O tornare a un’app funzionante?
Il mio app.yml con i commenti rimossi e gli identificatori oscurati:
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: 'oscurato'
DISCOURSE_HOSTNAME: 'oscurato'
DISCOURSE_SMTP_ADDRESS: "oscurato"
DISCOURSE_SMTP_PORT: 25
DISCOURSE_SMTP_USER_NAME: "oscurato"
DISCOURSE_SMTP_PASSWORD: "oscurato"
DISCOURSE_SMTP_ENABLE_START_TLS: true
LETSENCRYPT_ACCOUNT_EMAIL: "oscurato"
DISCOURSE_MAXMIND_LICENSE_KEY: "oscurato"
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 "Inizio dei comandi personalizzati"
- exec: echo "Fine dei comandi personalizzati"
- exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Chiavi SSH autorizzate per questo contenitore:"; } NF>=2 {print $NF;}'