2carrot84
by 2carrot84
3 min read

Categories

  • blog

Tags

  • blog
  • github.io
  • jekyll

어제 부터 Djay 님의 추천으로 Jekyll 과 GitHub 을 이용한 블로그 만드는 재미에 빠져, 여러 테마로 블로그를 만들어 보았습니다.

이미 Jekyll + GitHub 을 이용한 블로그 만드는 과정은 구글링을 통해 많이 찾을 수 있는 관계로 생략하고(귀찮..🤢), 그 과정 중 겪은 삽질들과 그걸 해결한 방법에 대해 간단하게 정리를 하려고 합니다.


우선, Jekyll + GitHub 으로 블로그를 만드는 것이 개발을 모르는 사람도 할 수 있을까라는 의문에 대해..

전 가능하다고 생각합니다. 단, GitHub 만 이용하여 블로그 설정 및 포스팅을 진행하고, 선택한 테마에서 제공하는 기능만 사용한다는 전제 조건이 필요합니다.

그리고 포스팅에 사용되는 MarkDown 문법 에 대한 학습도 필수입니다.

하지만.. 지인인 DBA분 에게 아래 순서를 모두 대신 해주고 포스팅을 해라고 했지만, 결국 포기하고 티스토리를 만져보고 있다고 하네요..🤬🤬🤬

간략한 순서 소개

  1. GitHub 가입
  2. jekyll 테마 중 원하는 테마 선택
  3. 선택한 테마 GitHub 저장소 Fork
    • Fork 란? 다른 사람의 GitHub 저장소를 내 GitHub 으로 복사! 라고 이해하면 됩니다.
    • 선택한 테마 GitHub 저장소의 우측 상단의 Fork 버튼만 클릭하면 끝!
      GitHub Fork
  4. Fork 된 저장소 Settings > Repository Name 을 본인 {GitHub 계정}.github.io 로 변경

    저장소 명이 github.io 로 끝나야 GitHub Page로 인식하여 호스팅을 해주는 것 같습니다. (아닐지도..😅)

    Repository Name 변경

  5. _config.xml 수정
    테마별로 config 내 설정이 상이하겠지만, 주로 아래와 같은 설정만 바꾸면 끝‼️
    title: "2carrot's Blog"
    description: "개발을 하면서 여러가지를 기록하는 공간"
    baseurl: 
    url: https://2carrot84.github.io 
    

평범한 경우 이 정도 단계에서 본인의 GitHub 아이디로 시작하는 github.io 블로그를 가질 수 있게 된다.

단, 가장 중요한건 어떤 테마를 고르냐에 따라 결과가 크게 좌우된다는 것을 느꼈습니다.

가이드가 잘되어 있고, 다양한 샘플이 있는 무료 테마를 선택하는게 중요합니다.

삽질의 과정..

우선 대부분의 삽질은 GitHub 에 반영하기에 앞서 결과를 확인할 수 있는 로컬 세팅 과정에서 발생한 것으로 비개발자 분들은 위에 언급한 대로 GitHub 만을 이용하길 권장합니다.

작업 환경 : MacBook Air (M1, 2020)


이슈1. Bundler, Jekyll 설치

bundler 설치 시 gem 명령어가 필요한데, 아래와 같이 에러 발생

$ gem install bundler jekyll
ERROR:  While executing gem ... (Gem::FilePermissionError)

오류 원인 : 저 같은 경우는 System 에서 rbenv(Ruby Version Manager) 을 사용하고 있어서 root 권한으로만 gem 명령어가 실행되는 케이스가 있음

sudo 를 통해 gem 실행도 가능하지만 구글링 결과 비추한다는 말이 많더라구요.

해결 방법 : rbenv 글로벌 설정 변경 참고자료

$ brew install rbenv
$ rbenv versions
$ rbenv install 3.0.2
$ rbenv global 3.0.2
$ vim .zprofile
[[ -d ~/.rbenv  ]] && \
  export PATH=${HOME}/.rbenv/bin:${PATH} && \
  eval "$(rbenv init -)"
$ source ~/.zprofile  

이슈2. Bundle 설치시 Gemfile 찾지 못하는 현상

$ bundle install
Could not locate Gemfile

오류 원인 : 현재 저장소에 Gemfile 이 존재 하지 않음

Gemfile 이란?
Maven, Gradle 처럼 의존성을 명시해, 필요한 라이브러리를 관리하는 용도..❔

여기서 jekyll 테마 선택이 중요하다고 느꼈습니다..

해결 방안 :

1안. jekyll new 를 통한 기본 세팅 생성 (비추..🙅🏻‍♂️)

기존 테마의 설정 파일이 초기화 될 수 있음

## 그래도 해보고 싶다면..
$ jekyll new {블로그 root 경로}

2안. Gemfile 가 있는 테마를 고른다 (강추 👍🏼👍🏼👍🏼)


이슈3. Bundle 설치 버전 이슈

$ bundle install
rbenv: version `2.7.2' is not installed (set by /Users/eguns/Documents/workspace/2carrot84/.ruby-version)

오류 원인 : 현재 설치된 rbenv 버전과 내가 받은 테마의 버전 차이
해결 방법 :

1안. 테마의 맞는 버전 설치

$ rbenv install 2.7.2
$ rbenv global 2.7.2

2안. 테마의 버전 변경 (.gemspec 파일내 아래와 같이 spec.version 을 현재 설치 버전으로 변경)

버전 변경은 Dependency 이슈가 있을 수 있을 것 같아 비추

   Gem::Specification.new do |spec|
   spec.version                 = "3.2.0"

이슈4. Jekyll 서버 구동시 webrick 을 찾지 못할때

로컬의 jekyll 서버 구동시 아래 에러 발생

$ bundle exec jekyll serve
... `require': cannot load such file -- webrick (LoadError)

오류 원인 : ruby 3.0.0부터 webrick 이 기본으로 포함된 gem 에서 빠졌기 때문
해결 방법 : webrick 추가 후 재 실행 참고자료

$ bundle add webrick

이슈5. rbenv(Ruby Version Manager) 설치시 권한 이슈

이직 후 새로운 회사 PC에 블로그 세팅을 하려고 했더니 처음부터 새로운 이슈가 발생‼️

$ brew install rbenv
Error: The following directories are not writable by your user:
/usr/local/share/man/man8

You should change the ownership of these directories to your user.
sudo chown -R $(whoami) /usr/local/share/man/man8

And make sure that your user has write permission.
chmod u+w /usr/local/share/man/man8

오류 원인 : 위 설명과 같이 /usr/local/share/man/man8 경로에 대해 권한이 부족
해결 방법 : 해당 경로 소유권 및 권한 변경

$ sudo chown -R $(whoami) /usr/local/share/man/man8
$ chmod u+w /usr/local/share/man/man8

그 외 이슈들에 대해..

그 외 많은 이슈가 있었고, 해결을 했으나..

처음 고른 테마를 작업하던 저장소 Wiki 에 커맨드 라인까지 상세히 기록 후 위 비추 방법(jekyll new..)을 저지르는 바람에

테마를 교체하면서, Wiki 까지 삭제해버려 기억이 나지 않습니다.. 😅🤣

기억날 때마다 이슈 내용을 추가하도록 하겠습니다. 그럼 이만. 🥕👋🏼🖐🏼

##참고자료
https://gist.github.com/ihoneymon/652be052a0727ad59601
https://wepplication.github.io/programming/jekyll/
https://angelsocer-g.github.io/blog/github-jekyll-blog-started