저는 두 개의 Discourse 앱을 운영하고 있습니다. 둘 다 2.9.0beta2로 업그레이드했는데, 첫 번째 앱은 문제없이 진행되었지만 두 번째 앱에서는 Uncaught ReferenceError: Handlebars is not defined라는 콘솔 오류가 발생했습니다.
두 앱의 유일한 차이는 서로 다른 커스텀 테마를 사용한다는 점입니다. 오류가 발생한 앱에는 above-site-header.hbs 커넥터가 있고, 다른 앱에는 없습니다. JS 오류가 above-site-header.hbs 파일을 가리키고 있는 것 같습니다. 2.9.0beta2에서 Handlebars가 로드되기 전에 이 파일이 먼저 로드되는 것이 가능한가요? 안정 버전(2.8.1)으로 되돌렸을 때 두 앱 모두 정상적으로 작동합니다. 혹시 아이디어가 있으신가요?
사이트와 테마 모두 비공개 상태인 것 같습니다. 현재 사이트는 수정되었습니다. app.yml의 버전을 기본값인 tests-passed로 유지하는 대신 stable로 변경하면 문제가 해결되므로, 이 베타 버전이 원인이 맞음을 시사합니다. 오류가 발생하는 파일은 다음 위치에 있습니다:
connectors/above-site-header/jc-header.hbs (제목에서 above-site-header.hbs에 있다고 잘못 기재했는데, 제 실수입니다)
도움이 된다면 몇 가지 검사를 실행해 드릴 수 있지만, 안타깝게도 사이트나 테마를 공유할 수는 없습니다!
I, [2022-02-24T09:38:37.878937 #1] INFO – : > cd /var/www/discourse && git checkout v2.9.0.beta1
error: pathspec ‘v2.9.0.beta1’ did not match any file(s) known to git
안녕하세요! 저도 방금 이 문제를 겪기 시작했어요! 제 사이트는 공개되어 있으니 확인해 보고 싶으시면 여기 있습니다: https://forum.simplecraft.us - 사용 중인 플러그인 목록을 제공해 드릴게요. 커스텀은 별로 없지만, Air 테마를 사용하고 있고 일부 커스텀 CSS를 적용해 두었습니다.
게시글, 예를 들어 공지사항의 최신 글 같은 것을 클릭할 때까지는 제 사이트에서는 모든 것이 정상적으로 작동하는 것 같습니다.
이 문제로 어려움을 겪고 있는 분들을 위해 공유합니다. 저희는 이전에 잘 작동하던 커스텀 플러그인이 있었는데, 갑자기 handlebars를 찾을 수 없게 되었습니다. handlebars를 yarn으로 설치하고 플러그인에서 명시적으로 require한 결과, 다시 정상적으로 작동하게 되었습니다. 왜 갑자기 명시적으로 require해야 하는지, 이전에는 왜 필요하지 않았는지는 확실하지 않지만, 제 경우에는 이 방법으로 해결되었습니다.