jekyll 블로그를 localhost로 볼 때 발생하는 에러

jekyll serve로 블로그를 미리볼 때 발생하는 에러를 해결해보자

Posted by hyeyeon-sun on July 06, 2021 · 4 mins read

💁🏻 프롤로그

jekyll로 블로그를 시작하며 글을 수시로 수정해야 했다. 그러나 수정할 때마다 commit을 올리니 commit 내역이 너무 복잡해졌고, 나의 github가 더럽혀지고 있다는 .. 느낌이 들었다 😢 따라서 git에 올리기 전 로컬 상에서 나의 블로그를 확인하고 싶어 이 포스트를 참고해 시도 했으나 ..

역시나, 에러를 만났다.🤦‍♂️🤦‍♂️

따라서 이 포스팅에서는 로컬로 깃헙 블로그를 띄우는 과정에서 발생한 에러와 솔루션을 정리해보겠다.

  1. jekyll-feed 설치시 Ruby devkit이 없어 발생하는 에러
  2. Layout requested 에러

좋아 해결하러 가보자 !

1️⃣ jekyll-feed 설치시 devkit이 없어 발생하는 에러

Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
ERROR:  Error installing jekyll-feed:
        ERROR: Failed to build gem native extension.

    current directory: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser   
C:/Ruby27-x64/bin/ruby.exe -I C:/Ruby27-x64/lib/ruby/2.7.0 -r ./siteconf20210702-36720-16nrqbx.rb extconf.rb
creating Makefile

current directory: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser       
make "DESTDIR=" clean
current directory: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser       
make "DESTDIR="
make failedNo such file or directory - make "DESTDIR="

Gem files will remain installed in C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/http_parser.rb-0.6.0 for inspection.
Results logged to C:/Ruby27-x64/lib/ruby/gems/2.7.0/extensions/x64-mingw32/2.7.0/http_parser.rb-0.6.0/gem_make.out

에러 메세지는 상단과 같다. jekyll 패키지 설치를 위해 gem install jekyll-feed 명령어를 입력했을 때 발생하는 에러인데, jekyll 이슈 페이지를 통해서 ruby 를 설치할 때 devkit이 없어서 발생하는 에러라는 것을 알게 되었다.
따라서 chocolatey(window의 apt-get같은 툴)를 통해 ruby devkit을 설치해 보았으나 그럼에도 계속 같은 에러메세지가 떴다ㅠㅠ 이것 때문에 시간을 꽤나 많이 썼다 후우 … 결국 ruby를 지웠다가 다시 깔았는데, 그 과정에서 해결법을 발견했다 !

Ryby 설치 시 반드시 devkit 항목을 체크 해주어야 한다

Image Alt 텍스트 window에서 ruby를 설치하다보면 상단처럼 설치할 패키지를 선택하라는 화면이 나오는데, 이때 MSYS2 development toolchain를 반드시 체크해야만 에러가 나지 않는다.

정확한 원인은 모르겠으나 ruby dev-kit을 chocolately로 따로 깔면 안되고, 설치 과정에서 같이 깔아줘야 제대로 dev-kit을 인식하는 것 같다.

늘 느끼는 거지만 매우 간단한 실수임에도 찾는데는 매우 오랜 시간이 걸린다 흙흙 그래도 고친 뒤에 잘 돌아가는 프로그램 보면 또 다 잊어버리고 .. 행복해지고,, 5분 뒤에 또 새로운 에러로 고통받고 ^^ 이런 과정의 무한 반복 😂😂

2️⃣ Layout requested error

이렇게 성공적으로 ruby와 jekyll 요소를 설치하는 데 성공하고 상쾌한 마음으로 jekyll serve명령어를 cmd에 입력했다. 그러나 또 다시 에러를 만나버렸다 하하하ㅏ하

Build Warning: Layout 'post' requested in _posts/2021-7-1-start.md does not exist.
Build Warning: Layout 'post' requested in _posts/2021-7-7-error.md does not exist.  
Build Warning: Layout 'page' requested in about.html does not exist.
Build Warning: Layout 'page' requested in contact.html does not exist.
Build Warning: Layout 'page' requested in posts/index.html does not exist.
Build Warning: Layout 'home' requested in index.html does not exist.

에러 메세지는 위와 같다. layout 폴더가 없어서 발생하는 문제다. 처음 jekyll로 블로그를 만들었을 때는 jekyll 기본 제공 테마를 사용해 layout폴더를 따로 갖고 있지 않았다. 그럼에도 github page에서는 잘 돌아갔는데, 아무래도 로컬에서 돌리려니 잘 되지 않아서 해결책으로 일단

기본 테마 대신 layout 폴더를 포함하는 블로그 테마를 사용하였다.

그러자 문제 없이 잘 동작했고, 블로그 미리 보기를 할 수 있게 되었다 !! 👏👏👏

그런데 여기서, 그렇다면 jekyll 기본 테마를 사용하는 사람은 로컬에서 볼 수가 없는건가? 하는 생각이 들었다. 이 부분은 다른 포스팅에서 이야기해보겠다 ( ͡° ͜ʖ ͡°)