Errore durante l'aggiornamento di Discourse

Ciao. Ho ricevuto questo errore durante l’aggiornamento di Discourse. Sapete come risolverlo?

Ecco la mia versione di Discourse

<meta name="generator" content="Discourse 3.4.0.beta2-dev - https://github.com/discourse/discourse version 41c3c5745e0611828cb6ed84e5e625faf12df13a">

Informazioni sul sistema operativo

NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

versione di docker

Docker version 26.1.0, build 9714adc

/var/discourse/containers/app.yml

## questo è il template del container Docker Discourse all-in-one, standalone
##
## Dopo aver apportato modifiche a questo file, DEVI ricostruire
## /var/discourse/launcher rebuild app
##
## FAI MOLTA ATTENZIONE DURANTE LA MODIFICA!
## I FILE YAML SONO MOLTO, MOLTO SENSIBILI A ERRORI DI SPAZIATURA O ALLINEAMENTO!
## visita http://www.yamllint.com/ per validare questo file se necessario

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Scommenta queste due righe se desideri aggiungere Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## quali porte TCP/IP dovrebbe esporre questo container?
## Se vuoi che Discourse condivida una porta con un altro server web come Apache o nginx,
## vedi https://meta.discourse.org/t/17247 per i dettagli
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Imposta db_shared_buffers al massimo al 25% della memoria totale.
  ## verrà impostato automaticamente da bootstrap in base alla RAM rilevata, oppure puoi sovrascrivere
  db_shared_buffers: "256MB"

  ## può migliorare le prestazioni di ordinamento, ma aumenta l'uso di memoria per connessione
  #db_work_mem: "40MB"

  ## Quale revisione Git dovrebbe usare questo container? (default: tests-passed)
  #version: tests-passed

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

  ## Quante richieste web concorrenti sono supportate? Dipende dalla memoria e dai core CPU.
  ## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, oppure puoi sovrascrivere
  UNICORN_WORKERS: 4

  ## TODO: Il nome di dominio a cui risponderà questa istanza di Discourse
  ## Obbligatorio. Discourse non funzionerà con un semplice numero IP.
  DISCOURSE_HOSTNAME: discourse.abcdef.com

  ## Scommenta se vuoi che il container venga avviato con lo stesso
  ## nome host (opzione -h) specificato sopra (default "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Elenco di email separate da virgola che diventeranno amministratori e sviluppatori
  ## al primo esempio di registrazione 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'email@abcdef.com'

  ## TODO: Il server SMTP utilizzato per validare nuovi account e inviare notifiche
  ## INDIRIZZO SMTP, nome utente e password sono obbligatori
  ## ATTENZIONE: il carattere '#' nella password SMTP può causare problemi!
  DISCOURSE_SMTP_ADDRESS: smtp.mailgun.org
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: yummy@abcdef.com
  DISCOURSE_SMTP_PASSWORD: "aaaaaaaaaaaaaaaaaaaaaaaa-bbbbbbbb-ccccccccccc"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (opzionale, default true)
  DISCOURSE_SMTP_DOMAIN: abcdef.com
  DISCOURSE_NOTIFICATION_EMAIL: yummy@abcdef.com

  ## Se hai aggiunto il template Lets Encrypt, scommenta qui sotto per ottenere un certificato SSL gratuito
  LETSENCRYPT_ACCOUNT_EMAIL: yummy@abcdef.com

  ## L'indirizzo CDN http o https per questa istanza di Discourse (configurato per il pull)
  ## vedi https://meta.discourse.org/t/14857 per i dettagli
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## La chiave IP di geolocalizzazione maxmind per la ricerca degli indirizzi IP
  ## vedi https://meta.discourse.org/t/-/137387/23 per i dettagli
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## Il container Docker è senza stato; tutti i dati sono archiviati in /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## I plugin vanno qui
## vedi https://meta.discourse.org/t/19157 per i dettagli
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-math.git
          - git clone https://github.com/discourse/discourse-chat-integration.git
          - git clone https://github.com/discourse/discourse-cakeday.git
          - git clone https://github.com/discourse/discourse-akismet.git
          - git clone https://github.com/discourse/discourse-github.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-translator.git
          - git clone https://github.com/discourse/discourse-code-review.git
          - git clone https://github.com/discourse/discourse-voting.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/discourse-automation.git
          - git clone https://github.com/discourse/discourse-tooltips.git
          - git clone https://github.com/discourse/discourse-assign.git
          - git clone https://github.com/discourse/discourse-encrypt.git
          - git clone https://github.com/discourse/discourse-rss-polling.git
          - git clone https://github.com/discourse/discourse-user-card-badges.git
          - git clone https://github.com/discourse/discourse-teambuild.git
          - git clone https://github.com/discourse/discourse-prometheus.git
          - git clone https://github.com/discourse/discourse-calendar.git
          - git clone https://github.com/discourse/discourse-docs.git
          - git clone https://github.com/discourse/discourse-gamification.git
          - git clone https://github.com/discourse/discourse-bbcode-color.git
          - git clone https://github.com/discourse/discourse-follow.git
          - git clone https://github.com/discourse/discourse-templates.git
          - git clone https://github.com/discourse/discourse-shared-edits.git
          - git clone https://github.com/discourse/discourse-category-experts.git
          - git clone https://github.com/discourse/discourse-graphviz.git
          - git clone https://github.com/discourse/discourse-post-voting.git
          - git clone https://github.com/discourse/discourse-saved-searches.git
          - git clone https://github.com/discourse/discourse-staff-alias.git
          - git clone https://github.com/discourse/discourse-policy.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/discourse/discourse-bcc.git
          - git clone https://github.com/discourse/discourse-ai.git
          - git clone https://github.com/discourse/discourse-algolia.git

## Qualsiasi comando personalizzato da eseguire dopo la costruzione
run:
  - exec: echo "Inizio dei comandi personalizzati"
  ## Se vuoi impostare l'indirizzo email 'From' per la tua prima registrazione, scommenta e modifica:
  ## Dopo aver ricevuto la prima email di iscrizione, ricommenta la riga. Deve essere eseguita solo una volta.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fine dei comandi personalizzati"

Questo è il comando che ho eseguito per aggiornare Discourse.

cd /var/discourse
./launcher rebuild app

errore

I, [2025-04-10T15:51:32.679706 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2025-04-10T15:51:33.940918 #1]  INFO -- : Bundler-2.6.4 installato con successo
1 gem installata

I, [2025-04-10T15:51:33.941573 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2025-04-10T15:51:39.190810 #1]  INFO -- : 
I, [2025-04-10T15:51:39.191737 #1]  INFO -- : > cd /var/www/discourse && if [ -f yarn.lock ]; then
  if [ -d node_modules/.pnpm ]; then
    echo "Questa versione di Discourse usa yarn, ma i node_modules pnpm sono presenti. Pulizia in corso..."
    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +
  fi
  su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
else
  su discourse -c 'CI=1 pnpm install --frozen-lockfile'
fi
I, [2025-04-10T15:51:44.558550 #1]  INFO -- : Rilevati node_modules gestiti da yarn. Esecuzione della pulizia una tantum...
pulizia completata
 ERR_PNPM_UNSUPPORTED_ENGINE  Ambiente non supportato (versione errata di pnpm e/o Node.js)

La tua versione di Node non è compatibile con "/var/www/discourse".

Versione attesa: >= 20
Rilevata: v18.20.4

Questo accade perché il manifesto del pacchetto ha specificato un campo engines.node.
Per risolvere questo problema, installa la versione richiesta di Node.

I, [2025-04-10T15:51:44.559546 #1]  INFO -- : Terminazione dei processi asincroni
I, [2025-04-10T15:51:44.559682 #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: 36
I, [2025-04-10T15:51:44.559994 #1]  INFO -- : Invio di TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 104
104:signal-handler (1744300304) SIGTERM ricevuto, pianificazione dell'arresto...
2025-04-10 15:51:44.560 UTC [36] LOG:  richiesta di arresto rapido ricevuta
2025-04-10 15:51:44.581 UTC [36] LOG:  interruzione di tutte le transazioni attive
104:M 10 Apr 2025 15:51:44.585 # Arresto richiesto dall'utente...
104:M 10 Apr 2025 15:51:44.586 * Salvataggio dell'ultimo snapshot RDB prima dell'uscita.
2025-04-10 15:51:44.591 UTC [36] LOG:  worker di background "logical replication launcher" (PID 51) terminato con codice di uscita 1
2025-04-10 15:51:44.598 UTC [46] LOG:  arresto in corso
2025-04-10 15:51:44.634 UTC [36] LOG:  il sistema di database è spento
104:M 10 Apr 2025 15:51:44.947 * DB salvato su disco
104:M 10 Apr 2025 15:51:44.948 # Redis è pronto ad uscire, arrivederci...


RIUSCITO
--------------------
Pups::ExecError: cd /var/www/discourse && if [ -f yarn.lock ]; then
  if [ -d node_modules/.pnpm ]; then
    echo "Questa versione di Discourse usa yarn, ma i node_modules pnpm sono presenti. Pulizia in corso..."
    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +
  fi
  su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
else
  su discourse -c 'CI=1 pnpm install --frozen-lockfile'
fi fallito con ritorno #<Process::Status: pid 649 exit 1>
Posizione del fallimento: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
esecuzione fallita con i parametri {"cd"=>"$home", "hook"=>"yarn", "cmd"=>["if [ -f yarn.lock ]; then\n  if [ -d node_modules/.pnpm ]; then\n    echo \"Questa versione di Discourse usa yarn, ma i node_modules pnpm sono presenti. Pulizia in corso...\"\n    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +\n  fi\n  su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'\nelse\n  su discourse -c 'CI=1 pnpm install --frozen-lockfile'\nfi"]}
bootstrap fallito con codice di uscita 1
** BOOTSTRAP FALLITO ** scorri verso l'alto e cerca messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor può aiutare a diagnosticare il problema.
e6f9cd9a001c3b9e1208284621b73506ba021b2350e0c9cca235941538863fd9

versione di node nell’immagine corrente di Discourse

Qual è la memoria del tuo server?  hai configurato un file di swap?

Ciao.

Ecco le informazioni sulla nostra memoria e swap

free -h
              total        used        free      shared  buff/cache   available
Mem:          3.8Gi       2.1Gi       274Mi       275Mi       1.5Gi       1.2Gi
Swap:         2.0Gi       117Mi       1.9Gi

Posso solo ipotizzare che la causa dell’errore sia o il grande salto di versione - circa 7 mesi di aggiornamenti - o il gran numero di plugin.

La prima cosa che proverei è ripetere l’aggiornamento da riga di comando. Penso che questo possa aiutare, e non è solo superstizione!

La seconda cosa che proverei è commentare tutti i tuoi plugin nel file yml, riprova l’aggiornamento. Se ha successo, puoi reintrodurli, magari tutti in una volta o magari con più attenzione.

Ma forse qualcun altro avrà consigli più informati.

(Nel mio forum, ora alla versione 3.5.0.beta2-dev, ho la versione node v22.14.0)

Puoi per favore condividere l’output di docker images? Sembra che tu sia bloccato in un’immagine di container vecchia in qualche modo.

Ciao. Penso che qui ci sia quello che chiedi

REPOSITORY                 TAG                 IMAGE ID       CREATED         SIZE
local_discourse/app        latest              dfd8027ee473   6 mesi fa       4.75GB
discourse/base             2.0.20240825-0027   9dc96b6115cb   7 mesi fa       3.38GB

Non ha funzionato

Non l’ho ancora fatto. Lo testerò nell’ambiente di sviluppo. grazie

Sì, come sospettavo sembra che tu sia rimasto bloccato in una vecchia immagine.

Qual è l’output di

cd /var/discourse
git pull

?

Ciao Falco. Ecco l’output

git pull origin main

From https://github.com/discourse/discourse_docker
 * branch            main       -> FETCH_HEAD
Removing launcher_go/v2/utils/utils_suite_test.go
Removing launcher_go/v2/utils/find_config_test.go
Removing launcher_go/v2/utils/find_config.go
Removing launcher_go/v2/utils/consts.go
Removing launcher_go/v2/utils/cmd_runner.go
Removing launcher_go/v2/test_utils/utils.go
Removing launcher_go/v2/test/templates/web.template.yml
Removing launcher_go/v2/test/containers/web_only.yml
Removing launcher_go/v2/test/containers/test3.not-a-yaml
Removing launcher_go/v2/test/containers/test2.yaml
Removing launcher_go/v2/test/containers/test.yml
Removing launcher_go/v2/test/containers/standalone.yml
Removing launcher_go/v2/main.go
Removing launcher_go/v2/go_suite_test.go
Removing launcher_go/v2/go.sum
Removing launcher_go/v2/go.mod
Removing launcher_go/v2/docker/docker_suite_test.go
Removing launcher_go/v2/docker/commands_test.go
Removing launcher_go/v2/docker/commands.go
Removing launcher_go/v2/config/config_test.go
Removing launcher_go/v2/config/config_suite_test.go
Removing launcher_go/v2/config/config.go
Removing launcher_go/v2/cli_runtime_test.go
Removing launcher_go/v2/cli_runtime.go
Removing launcher_go/v2/cli_build_test.go
Removing launcher_go/v2/cli_build.go
Removing launcher_go/v2/bin/.gitignore
Removing launcher_go/v2/Makefile
Removing launcher_go/README.md
Removing image/monitor/src/monitor.rb
Removing image/monitor/Dockerfile
Removing image/discourse_fast_switch/create_switch.rb
Removing image/discourse_fast_switch/Dockerfile
Removing image/discourse_bench/run_bench.sh
Removing image/discourse_bench/Dockerfile
Auto-merging .gitignore
Removing .github/workflows/launcher_go.yml
Merge made by the 'recursive' strategy.
 .github/workflows/build.yml                     |  65 +++++++++++++++++++++--------
 .github/workflows/launcher_go.yml               |  45 --------------------
 .gitignore                                      |   1 +
 README.md                                       |   7 +++-
 discourse-setup                                 |   4 +-
 image/README.md                                 |  12 +-----
 image/auto_build.rb                             |  16 ++++++-
 image/base/Dockerfile                           | 160 ++++++++++++++++++++++++++++++++++++++++++-----------------------------
 image/base/install-imagemagick                  |  27 ++++++------
 image/base/install-jemalloc                     |   6 +--
 image/base/install-nginx                        |   4 +-
 image/base/install-oxipng                       |   8 +++-
 image/base/install-redis                        |   4 +-
 image/base/install-rust                         |   2 +-
 image/discourse_bench/Dockerfile                |  34 ---------------
 image/discourse_bench/run_bench.sh              |  19 ---------
 image/discourse_dev/postgres_dev.template.yml   |  10 ++---
 image/discourse_fast_switch/Dockerfile          |  23 -----------
 image/discourse_fast_switch/create_switch.rb    |  25 -----------
 image/discourse_test/Dockerfile                 |   7 +--
 image/monitor/Dockerfile                        |  13 ------
 image/monitor/src/monitor.rb                    |  98 -------------------------------------------
 launcher                                        |   4 +-
 launcher_go/README.md                           | 134 -----------------------------------------------------------
 launcher_go/v2/Makefile                         |  10 -----
 launcher_go/v2/bin/.gitignore                   |   1 -
 launcher_go/v2/cli_build.go                     | 180 -------------------------------------------------------------------------------
 launcher_go/v2/cli_build_test.go                | 254 ----------------------------------------------------------------------------------------------------------------
 launcher_go/v2/cli_runtime.go                   | 373 --------------------------------------------------------------------------------------------------------------------------------------------------------------------
 launcher_go/v2/cli_runtime_test.go              | 204 ------------------------------------------------------------------------------------------
 launcher_go/v2/config/config.go                 | 231 ------------------------------------------------------------------------------------------------------
 launcher_go/v2/config/config_suite_test.go      |  13 ------
 launcher_go/v2/config/config_test.go            |  61 ---------------------------
 launcher_go/v2/docker/commands.go               | 324 ----------------------------------------------------------------------------------------------------------------------------------------------
 launcher_go/v2/docker/commands_test.go          |  43 -------------------
 launcher_go/v2/docker/docker_suite_test.go      |  13 ------
 launcher_go/v2/go.mod                           |  30 --------------
 launcher_go/v2/go.sum                           |  64 -----------------------------
 launcher_go/v2/go_suite_test.go                 |  18 --------
 launcher_go/v2/main.go                          |  92 -----------------------------------------
 launcher_go/v2/test/containers/standalone.yml   | 109 ------------------------------------------------
 launcher_go/v2/test/containers/test.yml         | 121 -----------------------------------------------------
 launcher_go/v2/test/containers/test2.yaml       |   0
 launcher_go/v2/test/containers/test3.not-a-yaml |   0
 launcher_go/v2/test/containers/web_only.yml     | 114 --------------------------------------------------
 launcher_go/v2/test/templates/web.template.yml  | 443 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 launcher_go/v2/test_utils/utils.go              |  42 -------------------
 launcher_go/v2/utils/cmd_runner.go              |  28 -------------
 launcher_go/v2/utils/consts.go                  |  50 ----------------------
 launcher_go/v2/utils/find_config.go             |  51 -----------------------
 launcher_go/v2/utils/find_config_test.go        |  39 ------------------
 launcher_go/v2/utils/utils_suite_test.go        |  13 ------
 templates/import/phpbb3.template.yml            |   5 ++-
 templates/postgres.10.template.yml              |   3 +-
 templates/postgres.12.template.yml              |   3 +-
 templates/postgres.13.template.yml              | 175 +++++++++++++++++++++++++++++------------------------------------------------
 templates/postgres.15.template.yml              |  53 +++++++++++-------------
 templates/postgres.9.5.template.yml             |   3 +-
 templates/postgres.template.yml                 |  96 +++++++++++++++++++++++++------------------
 templates/web.socketed.template.yml             |   4 +-
 templates/web.ssl.template.yml                  |  32 +++++++--------
 templates/web.template.yml                      |  12 ++----
 62 files changed, 382 insertions(+), 3653 deletions(-)
 delete mode 100644 .github/workflows/launcher_go.yml
 delete mode 100644 image/discourse_bench/Dockerfile
 delete mode 100644 image/discourse_bench/run_bench.sh
 delete mode 100644 image/discourse_fast_switch/Dockerfile
 delete mode 100644 image/discourse_fast_switch/create_switch.rb
 delete mode 100644 image/monitor/Dockerfile
 delete mode 100644 image/monitor/src/monitor.rb
 delete mode 100644 launcher_go/README.md
 delete mode 100644 launcher_go/v2/Makefile
 delete mode 100644 launcher_go/v2/bin/.gitignore
 delete mode 100644 launcher_go/v2/cli_build.go
 delete mode 100644 launcher_go/v2/cli_build_test.go
 delete mode 100644 launcher_go/v2/cli_runtime.go
 delete mode 100644 launcher_go/v2/cli_runtime_test.go
 delete mode 100644 launcher_go/v2/config/config.go
 delete mode 100644 launcher_go/v2/config/config_suite_test.go
 delete mode 100644 launcher_go/v2/config/config_test.go
 delete mode 100644 launcher_go/v2/docker/commands.go
 delete mode 100644 launcher_go/v2/docker/commands_test.go
 delete mode 100644 launcher_go/v2/docker/docker_suite_test.go
 delete mode 100644 launcher_go/v2/go.mod
 delete mode 100644 launcher_go/v2/go.sum
 delete mode 100644 launcher_go/v2/go_suite_test.go
 delete mode 100644 launcher_go/v2/main.go
 delete mode 100644 launcher_go/v2/test/containers/standalone.yml
 delete mode 100644 launcher_go/v2/test/containers/test.yml
 delete mode 100644 launcher_go/v2/test/containers/test2.yaml
 delete mode 100644 launcher_go/v2/test/containers/test3.not-a-yaml
 delete mode 100644 launcher_go/v2/test/containers/web_only.yml
 delete mode 100644 launcher_go/v2/test/templates/web.template.yml
 delete mode 100644 launcher_go/v2/test_utils/utils.go
 delete mode 100644 launcher_go/v2/utils/cmd_runner.go
 delete mode 100644 launcher_go/v2/utils/consts.go
 delete mode 100644 launcher_go/v2/utils/find_config.go
 delete mode 100644 launcher_go/v2/utils/find_config_test.go
 delete mode 100644 launcher_go/v2/utils/utils_suite_test.go

Esegui di nuovo il pull.

git pull origin main

From https://github.com/discourse/discourse_docker
 * branch            main       -> FETCH_HEAD
Already up to date.

Ora che sei aggiornato, prova una ricostruzione.

Questi sono i passaggi che ho utilizzato per aggiornare discourse. funziona

@Falco @Ed_S Grazie per il vostro aiuto

cd /var/discourse
git pull origin main
./launcher rebuild app

Anche questa soluzione (seguita da una ricompilazione) ha funzionato per me. Grazie!

Sheila Ruth