# Error 422 - "discourse\_theme watch" 실행 시 about.json 파일이 존재하지 않음

**URL:** https://meta.discourse.org/t/error-422-about-json-does-not-exist-when-trying-to-run-discourse-theme-watch/380502
**Category:** Support
**Tags:** development
**Created:** [8월 27, 2025, 10:41오전 UTC](https://meta.discourse.org/t/error-422-about-json-does-not-exist-when-trying-to-run-discourse-theme-watch/380502 "2025-08-27T10:41:04Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![hdng](https://avatars.discourse-cdn.com/v4/letter/h/dec6dc/32.png) [@hdng](https://meta.discourse.org/u/hdng)
#### Post date: [8월 27, 2025, 10:41오전 UTC](https://meta.discourse.org/t/error-422-about-json-does-not-exist-when-trying-to-run-discourse-theme-watch/380502/1 "2025-08-27T10:41:04Z")

</div>

안녕하세요,

혹시 도움을 주실 분이 계실지 모르겠습니다.

배경 설명을 드리자면, 저는 지난 주까지 Discourse를 사용해 본 적 없으며, 현재 포럼을 이전 에이전시에서 인수했습니다.

테마를 수정(특정 id:discourse.component-template-resolving 알림을 수정하기 위해)해야 합니다.

CLI 설정 가이드를 따랐고, API에 연결하여 테마 파일을 다운로드하는 데 성공했습니다.

하지만 `discourse_theme watch .` 명령을 실행하면 다음과 같은 오류가 발생합니다:

> ✘ Error 422 for [https://forum.mywebsite.co.uk/admin/themes/import.json:](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`의 스코프가 올바르고 존재한다면 그럴 리가 있나요?

결국 막혀버렸습니다. 누군가 올바른 방향으로 안내해 주실 수 있을까요?

---

<div class="post-metadata">

### Author: ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)
#### Post date: [8월 27, 2025, 11:37오전 UTC](https://meta.discourse.org/t/error-422-about-json-does-not-exist-when-trying-to-run-discourse-theme-watch/380502/2 "2025-08-27T11:37:42Z")

</div>

> [@hdng](#):
>
> 아마도 _API 권한_ 문제일 수도 있다고 생각했지만, 연결되어 있고 `admin/api/keys/settings`의 스코프가 정확하고 존재한다면, 그럴 리가 없지 않나요?

이전에도 비슷한 API 문제였던 사례가 기억납니다. API 키 설정을 확인해 보실 수 있을까요? `global`로 설정되어 있어야 하며, 모든 사용자에게가 아니라 특정 사용자에게만 설정되어 있어야 합니다.

---

<div class="post-metadata">

### Author: ![hdng](https://avatars.discourse-cdn.com/v4/letter/h/dec6dc/32.png) [@hdng](https://meta.discourse.org/u/hdng)
#### Post date: [8월 27, 2025, 12:42오후 UTC](https://meta.discourse.org/t/error-422-about-json-does-not-exist-when-trying-to-run-discourse-theme-watch/380502/3 "2025-08-27T12:42:37Z")

</div>

찰리, 안녕하세요.

답장 주셔서 감사합니다. 제가 사용하던 API 키는 이미 글로벌과 특정 사용자로 설정되어 있었습니다.

하지만, 현재 관리자 사용자를 시스템이 인식하지 못하는 것 같아서 혹시 모를 경우를 대비해 몇 명의 모더레이터/관리자 계정에 대해 새로운 키 2개를 생성해 보았습니다. 그런데도 여전히 같은 결과가 나옵니다.

감사합니다 🙂

---

<div class="post-metadata">

### Author: ![hdng](https://avatars.discourse-cdn.com/v4/letter/h/dec6dc/32.png) [@hdng](https://meta.discourse.org/u/hdng)
#### Post date: [8월 27, 2025, 12:47오후 UTC](https://meta.discourse.org/t/error-422-about-json-does-not-exist-when-trying-to-run-discourse-theme-watch/380502/4 "2025-08-27T12:47:01Z")

</div>

이 건에 대해 업데이트를 드리고자 합니다. `discourse_theme new <dir>` 명령어로 완전히 새로운 테마를 생성해 보았는데, watch 명령어를 실행하면 역시 문제가 발생합니다. 따라서 이전에 언급하신 것처럼 테마 자체에 문제가 있는 것은 아니라고 볼 수 있습니다.

---

<div class="post-metadata">

### Author: ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)
#### Post date: [8월 27, 2025, 1:42오후 UTC](https://meta.discourse.org/t/error-422-about-json-does-not-exist-when-trying-to-run-discourse-theme-watch/380502/5 "2025-08-27T13:42:56Z")

</div>

불행히도, 제 '실행 방법’에 대한 지식은 여기까지입니다 😅

더 전문적인 분이 곧 도움을 주실 수 있을 거예요.

주로 플러그인에서 해당 명령어를 실행하려고 할 때(동작하지 않음) 그 오류를 본 적이 있지만, 질문자님은 테마 문제이거나 .json 파일의 포맷 오류일 수 있다고 말씀하셨는데, 이미 확인을 하셨다고 하셨네요… 🤔

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [8월 27, 2025, 2:07오후 UTC](https://meta.discourse.org/t/error-422-about-json-does-not-exist-when-trying-to-run-discourse-theme-watch/380502/6 "2025-08-27T14:07:15Z")

</div>

위치는 다를 수 있지만, `~/.discourse_theme` 파일을 확인해 보셨나요?

이전에 터미널 에뮬레이터가 "bracketed paste mode"를 사용하면서 문제가 발생한 적이 있습니다.

아래에서 차이를 확인할 수 있습니다(실제 키가 아니라 공유를 위해 일부만 표시함)… 첫 번째 항목과 같이 이스케이프 문자가 보인다면 이는 올바르지 않으며 작동하지 않습니다.

![image](https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/6/7/b671ca656abbbb83a128575e8684e4c71e42addc_2_690x42.png)

---

<div class="post-metadata">

### Author: ![hdng](https://avatars.discourse-cdn.com/v4/letter/h/dec6dc/32.png) [@hdng](https://meta.discourse.org/u/hdng)
#### Post date: [8월 28, 2025, 7:28오전 UTC](https://meta.discourse.org/t/error-422-about-json-does-not-exist-when-trying-to-run-discourse-theme-watch/380502/7 "2025-08-28T07:28:27Z")

</div>

Kris님,

답장 주셔서 감사합니다. 그 부분은 생각도 못 했네요!

`discourse_theme` 파일을 확인해 보니 API 키 자체는 올바르게 형성되어 있었지만, 제가 본 다른 예시(그리고 Kris님의 예시)와 비교했을 때 파일 자체의 형식이 약간 잘못되어 보였습니다.

참고로 저는 macOS를 사용 중이며, 이 결과는 iTerm에서 `cat ~/discourse_theme`를 실행했을 때 나온 것입니다.

```plaintext
"/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

```

이것이 원인이 될 수 있으므로 이 부분을 정리해 보겠습니다.

수정: 아니요. `! ‘ ‘:`과 두 번째 항목을 제거해 봤습니다. 결과는 동일합니다. 🫠
