hdng
(Tom)
8월 27, 2025, 10:41오전
1
안녕하세요,
혹시 도움을 주실 분이 계실지 모르겠습니다.
배경 설명을 드리자면, 저는 지난 주까지 Discourse를 사용해 본 적 없으며, 현재 포럼을 이전 에이전시에서 인수했습니다.
테마를 수정(특정 id:discourse.component-template-resolving 알림을 수정하기 위해)해야 합니다.
CLI 설정 가이드를 따랐고, API에 연결하여 테마 파일을 다운로드하는 데 성공했습니다.
하지만 discourse_theme watch . 명령을 실행하면 다음과 같은 오류가 발생합니다:
✘ Error 422 for https://forum.mywebsite.co.uk/admin/themes/import.json: Import Error: about.json does not exist, or is invalid. Are you sure this is a Discourse Theme?
다음 항목들을 확인했습니다:
올바른 폴더에서 작업하고 있습니다.
about.json 파일의 이름과 형식이 올바르게 설정되어 있습니다.
저자와 버전 번호도 포함되어 있습니다.
인코딩이 올바릅니다.
모든 디렉터리가 존재합니다.
아마도 API 권한 문제일 수도 있다고 생각했지만, 연결이 되어 있고 admin/api/keys/settings의 스코프가 올바르고 존재한다면 그럴 리가 있나요?
결국 막혀버렸습니다. 누군가 올바른 방향으로 안내해 주실 수 있을까요?
이전에도 비슷한 API 문제였던 사례가 기억납니다. API 키 설정을 확인해 보실 수 있을까요? global로 설정되어 있어야 하며, 모든 사용자에게가 아니라 특정 사용자에게만 설정되어 있어야 합니다.
hdng
(Tom)
8월 27, 2025, 12:42오후
3
찰리, 안녕하세요.
답장 주셔서 감사합니다. 제가 사용하던 API 키는 이미 글로벌과 특정 사용자로 설정되어 있었습니다.
하지만, 현재 관리자 사용자를 시스템이 인식하지 못하는 것 같아서 혹시 모를 경우를 대비해 몇 명의 모더레이터/관리자 계정에 대해 새로운 키 2개를 생성해 보았습니다. 그런데도 여전히 같은 결과가 나옵니다.
감사합니다
hdng
(Tom)
8월 27, 2025, 12:47오후
4
이 건에 대해 업데이트를 드리고자 합니다. discourse_theme new <dir> 명령어로 완전히 새로운 테마를 생성해 보았는데, watch 명령어를 실행하면 역시 문제가 발생합니다. 따라서 이전에 언급하신 것처럼 테마 자체에 문제가 있는 것은 아니라고 볼 수 있습니다.
불행히도, 제 '실행 방법’에 대한 지식은 여기까지입니다
더 전문적인 분이 곧 도움을 주실 수 있을 거예요.
주로 플러그인에서 해당 명령어를 실행하려고 할 때(동작하지 않음) 그 오류를 본 적이 있지만, 질문자님은 테마 문제이거나 .json 파일의 포맷 오류일 수 있다고 말씀하셨는데, 이미 확인을 하셨다고 하셨네요…
위치는 다를 수 있지만, ~/.discourse_theme 파일을 확인해 보셨나요?
이전에 터미널 에뮬레이터가 "bracketed paste mode"를 사용하면서 문제가 발생한 적이 있습니다.
아래에서 차이를 확인할 수 있습니다(실제 키가 아니라 공유를 위해 일부만 표시함)… 첫 번째 항목과 같이 이스케이프 문자가 보인다면 이는 올바르지 않으며 작동하지 않습니다.
hdng
(Tom)
8월 28, 2025, 7:28오전
7
Kris님,
답장 주셔서 감사합니다. 그 부분은 생각도 못 했네요!
discourse_theme 파일을 확인해 보니 API 키 자체는 올바르게 형성되어 있었지만, 제가 본 다른 예시(그리고 Kris님의 예시)와 비교했을 때 파일 자체의 형식이 약간 잘못되어 보였습니다.
참고로 저는 macOS를 사용 중이며, 이 결과는 iTerm에서 cat ~/discourse_theme를 실행했을 때 나온 것입니다.
"/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
이것이 원인이 될 수 있으므로 이 부분을 정리해 보겠습니다.
수정: 아니요. ! ‘ ‘:과 두 번째 항목을 제거해 봤습니다. 결과는 동일합니다.