Ошибка 422 — файл about.json отсутствует при запуске "discourse_theme watch"

Здравствуйте,

Надеюсь, кто-нибудь сможет здесь помочь.

Для контекста: я взял этот форум у предыдущего агентства и до этой недели никогда не работал с Discourse.

Мне нужно внести изменения в тему (чтобы исправить уведомление id:discourse.component-template-resolving).

Я следовал руководству по настройке CLI. Мне удалось подключиться к API и загрузить файлы темы.

Однако при попытке запустить discourse_theme watch . я получаю следующую ошибку:

✘ Ошибка 422 для https://forum.mywebsite.co.uk/admin/themes/import.json: Ошибка импорта: файл about.json не существует или некорректен. Убедитесь, что это тема Discourse.

Я проверил следующее:

  • Я работаю из правильной папки.
  • Файл about.json назван и отформатирован правильно.
    • В нём указаны авторы и номера версий.
    • Кодировка верная.
  • Все директории существуют.

Я подумал, что проблема может быть в правах доступа API, но если я подключён и области доступа (scopes) в admin/api/keys/settings указаны верно и присутствуют, то разве это может быть причиной?

В общем, я в тупике. Пожалуйста, подскажите, в каком направлении двигаться?

Я помню похожую ситуацию, которая всё же оказалась проблемой с API: проверьте настройки вашего API-ключа. Он должен быть установлен как global и назначен конкретному пользователю, а не всем пользователям.

Привет, Чарли,

Спасибо за ответ. Ключ API, который я использовал, уже был настроен на глобальный уровень и привязан к конкретному пользователю.

Однако я создал два новых ключа для некоторых модераторов/администраторов (на случай, если текущий админ-пользователь не подходит), но получаю те же результаты.

Спасибо :slight_smile:

Извините, просто хочу уточнить: я также создал совершенно новую тему discourse_theme new <dir>, и она снова падает при запуске команды watch. Это исключает возможность того, что проблема в самой теме (как вы и упоминали ранее).

К сожалению, это предел моих знаний о том, как настроить «как запустить» вещи :sweat_smile:

Я уверен, что более опытный человек скоро сможет вам помочь.

Я в основном видел эту ошибку при попытке запустить команду для плагина (что не сработает), но вы говорите, что это тема, или, возможно, ошибки форматирования в .json, но вы уже это проверили… :thinking:

Расположение может отличаться, но вы посмотрели свой файл ~/.discourse_theme?

Раньше я сталкивался с проблемой, когда эмулятор терминала использовал «режим вставки в скобках».

Ниже показано различие (это не настоящие ключи, я сократил их для публикации)… если вы видите что-то вроде первой записи с управляющими символами, это неверно и не будет работать.

image

Привет, Крис,

Спасибо за ответ, я об этом не подумал!

Я проверил свой файл discourse_theme, и хотя ключ API сформирован правильно, сам файл выглядит немного некорректно по сравнению с другими примерами, которые я видел (включая ваш).

Стоит отметить, что я работаю на macOS, и вот результат команды cat ~/discourse_theme в 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

Я попробую привести это в порядок, так как это может быть причиной проблемы.

РЕДАКТИРОВАНИЕ: Нет. Убрал ! ' ' : и вторую запись. Результат тот же. :melting_face: