Questo è stato separato dalla discussione sull’impostazione dell’ambiente di sviluppo WSL su Windows 11.
I miei problemi riguardano un’installazione di sviluppo (non-docker) su ubuntu 22.04.3
…Grazie per questo, ho dovuto eseguire alcuni passaggi manuali aggiuntivi poiché l’installer modificato non sembrava installare le ultime versioni di npm o ruby
Utilizzo anche ubuntu-22.04
Installa l’ultima versione di npm usando (opzione 2): https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-22-04
Installa pnpm: npm install -g pnpm
Installa l’ultima versione di ruby (metodo 3): https://ubuntuhandbook.org/index.php/2024/01/install-ruby-ubuntu-24-04/
Installa imagemagick manualmente, l’ultima versione (assicurati di andare alla sezione “Install latest version of ImageMagick from the source code (for advanced and desperate users)”: https://itsfoss.com/install-imagemagick-ubuntu
Solo dopo tutto questo sono stato in grado di accedere all’istanza…
Dopo aver passato l’intera giornata a configurare l’istanza di sviluppo, ero piuttosto soddisfatto… tutto sembra a posto, tranne il caricamento degli avatar. Nello specifico, come utente posso caricare un avatar e nella casella di caricamento avatar viene visualizzato correttamente, ma quando clicco su salva viene visualizzato solo l’avatar segnaposto… nessun errore nel log…
Questo è piuttosto importante per me poiché ho configurato l’istanza di sviluppo per testare una migrazione e uno di quei test prevede che vengano importati gli avatar … quindi voglio assicurarmi che funzionino prima di procedere con un’importazione di prova.
Le immagini caricate negli argomenti appaiono correttamente, nessun problema.
Qualcuno ha qualche idea? Qualsiasi aiuto è molto apprezzato.
Gli URL per le immagini possono essere un po’ complicati in locale.
Assicurati di avviare il tuo server locale con FORCE_HOSTNAME=localhost:4200 bin/ember-cli -u
È meglio usare un’istanza di test nel cloud per simulare la tua destinazione finale… infatti, ti consiglio di testare le migrazioni nel cloud in definitiva.
Sono così stanco dopo aver passato l’intera giornata a portare questo ambiente di sviluppo locale dove si trova, non riesco a convincermi che sia stato tutto inutile ora pensavo di esserci quasi!
Il mio processo mentale per un ambiente di sviluppo locale era:
eseguire lo script di importazione localmente, eseguire il backup di Discord, metterlo sull’istanza di produzione cloud appropriata quando tutto sembra a posto…
Il caricamento di immagini nei post funziona correttamente.
La modifica dell’avatar utente sembra funzionare quando si carica l’immagine per la prima volta e si è ancora nella finestra di dialogo di selezione dell’immagine:
Primo problema: il percorso dell’avatar era l’indirizzo IP 127.0.0.1 mentre tutti gli altri URL erano localhost, questo potrebbe fare la differenza? L’ho comunque modificato, andando in rails c (dato che non sembrava acquisire i parametri dalla riga di comando per avviare Discourse (FORCE_HOST=localhost ecc.), erano vuoti in rails).
rails c
SiteSetting.force_hostname = "localhost"
SiteSetting.port = 4200
exit
Quindi i percorsi degli avatar erano localhost e non indirizzo IP dopo aver riavviato il sito. Tuttavia, gli avatar non funzionavano ancora.
Ulteriori indagini sui log non appena ho eseguito un’importazione di avatar:
tail -n 200 log/development.log
hanno rivelato:
convert: no decode delegate for this image format jpeg:/home/bob/discourse/public/uploads/default/original/1X/92bb0d46e6a4b8a1333505b9d2da59a5ed1721ec.jpeg[0]' @ error/constitute.c/ReadImage/752.\nconvert: no images defined jpeg:/tmp/discourse-thumbnail20260202-4096-qjyo93.jpeg' @ error/deprecate.c/ConvertImageCommand/3368.\n"
e dopo qualche ricerca ho scoperto che era perché avevo installato Imagemagick ma non prima i delegati jpeg. Ho disinstallato Imagemagick, installato i delegati jpeg (e altri):
ho riavviato il server di Discourse e gli avatar hanno funzionato all’istante
Sono infastidito con me stesso per essermi fissato sui riferimenti URL ip/localhost invece di controllare le basi… ma eccoci qua, ho imparato parecchio negli ultimi due giorni e ora funziona