문제상황 : hexo server
실행을 하려고 했는데 잘 안 됐음.
세부 내용
노트북을 바꾸고 소스를 깃헙으로 올려서 다시 받아오는 과정에서 문제가 생겼다.
이후에 비슷한 문제가 또 생길 수도 있어서 해결 과정을 기록.
에러 해결 과정 intro
hexo를 install 하라는 에러 메세지가 떠 있어서
npm install hexo -g
를 시도 했지만 여전히 안 되었다.hexo 공식 사이트에 들어가 보았더니
npm install hexo-cli -g
로 설치하라고 해서 시도하였다.- 설치는 잘 되었지만 해당 폴더에서
hexo server
했을때 여전히 동일한 메세지가 떴다.
- 설치는 잘 되었지만 해당 폴더에서
원인을 찾기 위해서 hexo not found로 구글 검색 했더니 hexo github에 해당 이슈에 대한 보고가 되어 있었다. #2076
- 열어 보았더니 비슷한 증상이 많이 보고되어 있고 node js 버전을 업그레이드 했더니 정상 작동 한다는 보고가 되어 있었음
가설 1 : nodejs의 버전문제
hexo홈페이지에서
nvm install stable
을 하라고 했는데 잘 안되었다.- 윈도우버전이라서 그럴 것으로 추정.
nodejs 사이트에서 lts버전을 확인했고 10.15.0이어서
nvm install 10.15.0
명령을 시도하였다.이후 다시
npm install hexo -g
를 시도했더니 npm not found 에러가 떴다.다른 lts 버전인 10.14.2를 시도했지만 동일한 증상이 보였다.
로그를 확인해보니 npm install에 실패했다는 로그를 확인했다.
npm사이트에서 직접 받으려고 npm 깃헙에 들어갔더니 repo가 이동되었다는 메세지 확인되었다.
nvm에 변경된 npm 저장소의 url이 반영되어 있지 않다고 판단되어서,
- nvm 버전을 최신 버전으로 설치했다. (1.1.7로 올림)
이 후 다시
nvm unistall 10.15.0
후nvm install 10.15.0
을 하니 npm정상적으로 설치되는 것 확인 했다.npm install hexo-cli -g
했더니 hexo는 정상적으로 설치되는 것 확인 되었다.그러나 hexo server는 여전히 안됨 ㅠㅠ
package.json파일이 없는 폴더에서는 정상적으로 hexo 명령이 정상적으로 실행 되는 것 확인.
가설2 : 로컬 폴더에 디펜던시가 정상적으로 설치되어 있지 않아서 global 패키지를 찾기 전에 오류를 내보내는 것으로 추정.
npm install
명령을 통해 디펜던시를 설치했다. (의존성 라이브러리)이후
hexo server
를 했더니 정상적으로 작동하였다.
다른 문제 발견 : 그런데 localhost링크에 안 들어가짐. 정확히는, 빈 화면이 뜸.
theme 폴더에 overdose 테마가 안 옮겨진 것을 확인하였다 (왜?.. 통째로 들고왔는데..? )
overdose github페이지 다시 들어가서 하라는대로 설치를 다시 했다.
작동 됨 !
결론
- 디펜던시 설치 확인할 것
- 왠만하면 노트북을 바꿀 때에 기존에 썼던 폴더를 그대로 옮기자.
- 쓰던 테마와 __config.yml_ 파일 제대로 가져왔는지 잘 확인하자.