Hexo에서 Github pages의 deploy fail시 .nojekyll을 추가하자.



나는 블로그를 Hexo를 이용해 관리한다.

오랜만에 블로그 글 정리하고 진행하는데, deploy가 실패했다.




왜...?




가장 먼저 나타난 에러 문구
1
2
3
4
TypeError: Converting circular structure to JSON
--> starting at object with constructor 'TLSSocket'
| property '_httpMessage' -> object with constructor 'ClientRequest'
--- property 'socket' closes the circle



잘 모르는 상태에서 이 에러에 대해 열심히 찾아보았으나, 아주 쉬운 해결책을 발견했다.

이 사태의 원인은 hexo의 _config.yml을 보고 github에서 "이거 jekyll이네~"라고 인식하여 jekyll처럼 배포하려다 에러가 난다.

따라서, github에 jekyll이 아니다 라는것을 알려주는 것으로 root에 “.nojekyll”라는 빈 파일을 추가해야한다.

해당 Github 답변 링크는 다음과 같다: Github Issue



해결하려면 단순한 configuration이 필요하다. Configuration | Hexo

_config.yml에서 include 하위에 “.nojekyll”을 추가해준다.

1
2
include:
- ".nojekyll"




Deploy가 된다.



예전에는 잘 되던게 안되니 이해가 되지 않아서 시간을 꽤 소비했다.


갑자기 이런 현상이 나타나게한 나의 행동을 추측해보면…

  • WSL 버전을 1과 2를 몇 번 왔다갔다 해서.
  • npm에서 업데이트 몇 가지를 했기 때문.

정도일 것 같다.



그냥 두려다가 왠지 나중에 기억안나서 고생할까봐 + 필요하신 분이 있으실까봐 정리한다.