"Bulma Clean Theme" Jekyll 테마 적용하기 (..인지 Jekyll 에러 해결하기인지)

오늘 새벽에 만든 내 GitHub Pages에 테마를 바꿔보려고 했는데..

그 전에!
다른 컴퓨터로 하고있어서 그런건가?
일이 있어서 홈페이지 소스 파일을 OneDrive에 공유해놓고 다른 Windows 10 랩탑으로 기존 minimal 기본 테마가 입혀진 홈페이지를 띄우고자 했으나, jekyll serve 도중 에러가 ㅜ
Git, Ruby, Jekyll 다 잘 설치했는딩

그래서 찾은 몇 가지 해결 방법을 기록한다.

1. Bundler::GemNotFound


뭔가 해당 Jekyll 홈페이지를 띄우는 데 필요한 gem이 없어서그런 것 같음.
이 경우 cmd 창을 열어 띄우고자 하는 Jekyll 홈페이지 경로로 가서 (Gemfile이 존재하는 폴더)

> bundler
> bundle update

를 수행하면 알아서 gem들이 정리되고 update 되며, 이후 다시 jekyll serve를 입력하면 정상적으로 서버 및 홈페이지가 동작된다.

출처:
소금탄음료수 님의 흠하디흔한 저장소 - "Bundler::GemNotFound 에러 해결법"
Stack Overflow - "Rails: Bundler::GemNotFound"

2) Gem::LoadError


jekyllthemes.org에 가서 무료 Jekyll 테마를 찾아보았다.
심플 + 깔끔 + 모던한 것을 찾아보았다.

Linear
Centranium
Massively
Jekyll Theme Simple Blog
Bulma Clean Theme
...

일단 이 중에서 가장 마음에 들었던 Bulma Clean Theme을 입혀보기로 했다.
새벽에 생성한 블로그는 예시 posts 말고는 사실상 아무 내용이 없었기 때문에 Bulma Clean Theme의 공식 GitHub 파일을 모두 다운로드하여 본격적으로 내 홈페이지를 디자인하기로 결정.

이미 경험한 바가 있기 때문에 jekyll serve를 하기 전 cmd 창에서 홈페이지 경로로 옮긴 후 bundler + bundle update를 실행했다.
이번에는 Gem::LoadError다.
뭔가 상위 버전의 Gem을 activate 했는데 정작 필요한 것은 하위 버전이라는 말인 것 같다.
열심히 Googling한 결 과 다음의 명령어를 사용하면 된다고

> bundle exec jekyll server

출처:
ksw의 삽질연대기 - "jekyll serve(Gem::LoadError) 해결"

3)
하지만 내 경우에는 이후에 또 다른 에러가 발생했다.
Jekyll serve가 잘 되는 듯 싶다가도

Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby'
rubyeventmachine (LoadError)
EventMachine이라는 Gem에서 뭔가 문제를 일으키는 것 같다.
또 다시 Googling을 해보니 다음과 같이 EventMachine을 지웠다가 다시 설치하는 방식으로 해결할 수 있다고 한다.
다시 cmd를 열고 Jekyll 홈페이지가 있는 경로 C:\Users\"사용자 이름" 모두에서 실행해줘야 한다!!

> gem uninstall eventmachine  (select all versions if prompted)
> gem install eventmachine --platform ruby

출처:

그리고 나서 다시 bundle exec jekyll serve를 해주면!
오류가 사라졌다 드디어!!
이제 위 그림에 표시된 Server address를 주소창에 쳐본다.
성공 ㅜㅜ


만약 위 방법이 먹히지 않으면 현재 설치되어 있는 gem들을 모두 지웠다가 다시 웹페이지 폴더에서 bundler를 실행하는 방법을 시도해 본다.
Bundler의 버전과 eventmachine의 버전 간 호환 문제일 수도 있기에.
순서는

0. cmd를 켜고 웹페이지가 있는 폴더로 이동
1. gem 모두 삭제
> gem uninstall --all
2. Bundler를 실행하여 필요한 gem 다시 설치
> bundler install
3. 설치된 eventmachine gem 삭제
> gem uninstall eventmachine
4. Ruby 플랫폼에 맞는 eventmachine으로 다시 설치
> gem install eventmachine --platform ruby
5. 서버 실행
> bundler exec jekyll server

Comments