Problemi nell'aggiornamento di un sito di 10 anni

Hmmm. Penso di avere un problema simile. Sto eseguendo un’istanza Discourse ormai vecchia di 10 anni (!) che non è mai stata migrata ed è stata aggiornata in modo costantemente incostante :slight_smile:

Oggi ho provato ad aggiornare Docker Manager tramite la Dashboard e ora ottengo questo nella console del browser quando cerco di renderizzare le impostazioni di Amministrazione (in particolare, il link Customize generato dal messaggio “prova a disabilitare alcuni componenti frontend”):

loader.js:247 Uncaught (in promise) Error: Could not find module `discourse/lib/decorators` imported from `discourse/plugins/docker_manager/discourse/routes/update`

Ottengo un errore PUPS quando provo a ricostruire sulla CLI:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'yarn config set network-timeout 60000 -g' failed with return #<Process::Status: pid 280 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"yarn", "cmd"=>["if [ \"$version\" != \"tests-passed\" ]; then\n  rm -rf app/assets/javascripts/node_modules\nfi", "su discourse -c 'yarn config set network-timeout 60000 -g'", "su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

Non ci sono altri errori apparenti nel bootstrap. Si tratta di un’installazione single-container… qualche idea su come posso sbloccarmi? Il sito è attualmente ancora attivo ma in uno stato piuttosto precario.

Oh aspetta, l’errore PUPS potrebbe derivare da questo:

error Il package.json di questo progetto definisce \"packageManager\": \"yarn@pnpm@9.15.5\". Tuttavia, la versione globale corrente di Yarn è 1.22.22.

Ma che diavolo…

Sei riuscito a risolvere il tuo problema alla fine? Ripristinare un backup su un nuovo server potrebbe essere la soluzione migliore anche qui, piuttosto che districarsi con una configurazione obsoleta.

Capito, in realtà! Avevamo selezionato un commit un anno fa per risolvere qualcosa di rotto nel main, e il plugin Docker update manager non l’ha gradito (probabilmente non aveva un controllo per una git head staccata), il che ha interrotto il deploy. Fare un git reset –hard && ./launcher rebuild app sul server l’ha risolto alla fine, ma nel frattempo è stato molto confusionario :slight_smile:

4 Mi Piace