Errore 422 - about.json non esiste durante l'esecuzione di watch

Ciao,

Spero che qualcuno possa aiutarmi qui.

Per contesto, ho ereditato l’attuale forum da un’agenzia precedente e non ho lavorato in Discourse prima di questa settimana.

Ho bisogno di apportare una modifica al tema (per correggere l’avviso id:discourse.component-template-resolving).

Ho seguito la guida per configurare la CLI. Sono riuscito a connettermi all’API e a scaricare i file del tema.

Tuttavia, quando provo a eseguire discourse_theme watch ., ricevo il seguente errore:

✘ Errore 422 per https://forum.mywebsite.co.uk/admin/themes/import.json: Errore di importazione: about.json non esiste o è non valido. Sei sicuro che questo sia un tema Discourse?

Ho controllato quanto segue:

  • Sto operando dalla cartella corretta.
  • about.json è denominato e formattato correttamente
    • Ho autori e numeri di versione anche lì
    • La codifica è corretta
  • Tutte le directory esistono

Pensavo che potrebbe essere un problema di permessi API, ma se sono connesso e gli ambiti in admin/api/keys/settings sono corretti e presenti, allora non dovrebbe essere così?

Fondamentalmente, sono bloccato. Qualcuno può indicarmi la giusta direzione?

3 Mi Piace

Ricordo qualcosa di simile che era comunque un problema API: puoi controllare l’impostazione della tua chiave API, deve essere impostata su global e associata a un utente specifico, non a tutti gli utenti.

3 Mi Piace

Ciao Charlie,

Grazie per la risposta. La chiave API che stavo usando era già impostata come globale e per un utente specifico.

Tuttavia, ne ho create 2 nuove per alcuni moderatori/amministratori (nel caso non andasse bene l’utente amministratore attuale) e sto ottenendo di nuovo gli stessi risultati.

Grazie :slight_smile:

1 Mi Piace

Mi dispiace, solo per aggiornare questo, ho anche creato un tema nuovissimo discourse_theme new <dir> e di nuovo cade quando eseguo il comando watch, quindi questo esclude che ci sia un problema con il tema (come hai menzionato prima)

1 Mi Piace

Purtroppo, questo è il limite delle mie conoscenze su come impostare l’esecuzione :sweat_smile:

Sono sicuro che una persona più esperta sarà in grado di aiutarti presto.

Ho visto principalmente quell’errore quando si cerca di eseguire il comando su un plugin (che non funzionerà), ma dici che è un tema, o con forse errori di formattazione nel .json, ma hai già controllato quello… :thinking:

2 Mi Piace

La posizione può variare, ma hai dato un’occhiata al tuo file ~/.discourse_theme?

Ho riscontrato un problema in precedenza in cui il mio emulatore di terminale utilizzava la “modalità di incollaggio tra parentesi”.

Puoi vedere la differenza di seguito (queste non sono chiavi reali, le ho troncate per la condivisione)… se vedi qualcosa come la prima voce con caratteri di escape, è errato e non funzionerà.

image

Ciao Kris,

Grazie per la risposta, non ci avevo pensato!

Ho controllato il mio file discourse_theme e, sebbene la chiave API fosse formata correttamente, il file stesso sembra un po’ malformato, rispetto ad altri esempi che ho visto (incluso il tuo).

Vale la pena notare che sono su macOS e questo è stato il risultato di cat ~/discourse_theme in iTerm.

"/Users/firstname.lastname/_dev/_dru/site-discourse-forum/src":
  url: https://forum.site.co.uk
  theme_id: 2
api_keys:
  ! '':
  https://forum.site.co.uk: [API_KEY]
"/Users/firstname.lastname/_dev/_dru/site-discourse-forum":
  url: https://forum.site.co.uk

Procederò a ripulire questo, poiché potenzialmente potrebbe essere un motivo.

EDIT: No. Ho rimosso il ! ‘ ‘: e la seconda voce. Stessa cosa. :melting_face:

1 Mi Piace