Jekyll에 Chirpy 테마 적용하여 Github 블로그 만들기 (1)
Ubuntu 환경에서 Jekyll을 이용해 블로그 구조를 생성하고, Chirpy 테마를 적용하여, Github을 통해 호스팅하기까지 과정을 기록합니다1.
첫 번째 글에서는 환경구성에 대해 다루어 보겠습니다. 이 과정에서 버전 충돌이나 어떤 문제가 자주 발생했는데, 에러 로그를 보고 구글링을 하거나 여러 블로그를 참고했습니다. 주먹구구식으로 하나씩 해결하기 위해 시간을 할애했지만 여전히 문제가 해결되지 않거나, 다른 문제가 발생하거나, 무언가 제대로 동작하지 않았습니다.2345678
따라서 2024년 4월 시점에서 처음부터 끝까지 문제없이 수행할 수 있는 방법을 정리해보았습니다. 물론 Window, Linux, Mac 등 운영체제마다 마주할 수 있는 문제나 세부 설치 과정이 다르겠지만 설치환경을 올바르게 구성하기 위해 필수 라이브러리 버전을 꼼꼼히 확인하여 설치하는 것을 권장합니다.
설치환경구성
Item | Version | by Command |
---|---|---|
OS | Ubuntu 20.04.6 LTS | cat /etc/os-release |
Ruby | ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux] | ruby -v |
Gem | 3.5.3 | gem -v |
Bundle | Bundler version 2.5.7 | bundle -v |
Node | v20.12.1 | node -v |
npm | 10.5.0 | npm -v |
Jekyll | jekyll 4.3.3 | bunlde exec jekyll -v |
Chirpy | jekyll-theme-chirpy (6.5.5) | bundle info jekyll-theme-chirpy |
이번 글에서는 Ubuntu 환경에서 위 목록 중 다음의 항목에 대해서 다룹니다.
- Ruby
- Gem
- Bundle
- Node
- npm
- Jekyll
- Chirpy
Ruby 설치
최신 Chirpy 테마를 적용하려면
ruby v3.0
이상을 설치하는 것을 권장합니다. 처음에 단순히sudo apt install ruby-full
로 시도했다가ruby v2.7.x
이 설치되었고 이후 Chirpy 테마 초기화 후bundle install
과정에서 버전 충돌로 인해 낭패를 봤습니다.
Github에서는ruby v2.7
버전을 사용하는 것 같은데 어떻게 충돌이 없는지 의아하네요.
ruby v2.7 설치하면 bundle install 단계에서 마주할 에러 로그 (click me)
아래의 순서를 따라 여러 ruby 버전을 설치 및 관리해주는 rbenv를 통해 ruby와 gem을 설치할 수 있습니다9.
rbenv 설치
rbenv - manage your application’s Ruby environment
저장소 업데이트
1
sudo apt update
ruby를 빌드하기 위한 필요한 라이브러리 설치
1
2
3
sudo apt install git curl autoconf bison build-essential \
libssl-dev libyaml-dev libreadline6-dev zlib1g-dev \
libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev
curl fsSL10을 통해 rbenv 설치
1
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
환경변수 추가 및 갱신 (bash 기준)
1
2
3
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
설치된 rbenv 버전 확인
1
2
rbenv -v
# rbenv 1.2.0-87-ge8b7a27
rbevn를 통해 ruby 설치
rbenv를 통해 현재 설치 가능한 ruby 버전 목록 확인
1
2
3
4
5
rbenv install -l
# 3.0.6
# 3.1.4
# 3.2.3
# 3.3.0
설치 가능한 목록 중 원하는 버전으로 설치하고 사용할 버전 적용(global). 그리고 터미널을 닫고 새로 켠 다음 ruby 버전 확인
1
2
3
4
rbenv install 3.3.0
rbenv global 3.3.0
ruby -v
# ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux]
설치된 gem 버전 확인
RubyGems is a package manager for Ruby
ruby 설치 시 딸려오는 gem 버전 확인
1
2
gem -v
# 3.5.3
설치된 bundle(bundler) 버전 확인
bundle - Ruby Dependency Management
ruby 설치 시 딸려오는 bundle(bundler) 버전 확인
1
2
bundle -v
# Bundler version 2.5.7
Node 설치 (Chirpy 테마 개발자 버전 적용 시 필요)
다음 글에서 Chirpy 테마 개발자 버전을 Github Fork로 적용하고자 하는 경우에만 필요한 과정입니다. 이 부분을 누락하면 초기화 단계
bash tools/init
에서 문제가 발생합니다.
아래의 순서를 따라 여러 node 버전을 설치 및 관리해주는 nvm(node version manager)을 통해 node(node.js)와 npm을 설치할 수 있습니다11.
nvm 설치
curl fsSL10을 통해 nvm 설치
1
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
터미널을 닫고 새로 켠 다음 nvm 버전 확인
1
2
nvm -v
# 0.39.7
nvm을 통해 node 설치
nvm list-remote
명령어를 통해 나열되는 버전 중 현재 Ubuntu 버전에 적합한 node를 설치해야 합니다. 예를 들어Ubuntu 20.04.6 LTS
에서는node v20.12.1
이 정상 동작했지만Ubuntu 16.04.7 LTS
에서는 더 낮은 버전을 설치해야 했습니다.
단, 최신 Chirpy 테마(현재 시점에서v6.5.5
기준)에서는 일부 라이브러리에서node v18
이상을 요구하고 있기 때문에 Chirpy 테마 초기화 과정(bash tools/init
)에서 경고 로그가 발생할 수 있습니다.
Ubuntu 버전에 맞지 않는 node를 설치한 경우 에러 로그 (click me)
nvm을 통해 현재 설치 가능한 버전 목록 확인
1
nvm list-remote
nvm을 통해 원하는 node 버전 설치. 제 환경에서는 --lts
옵션을 통해 최신 LTS 버전인 v20.12.2
를 설치하였습니다.
1
nvm install [<version>]
현재 설치된 node 버전 확인
1
2
3
4
nvm ls
# -> v20.12.1
# v21.7.2
# system
원하는 node 버전 적용
1
2
nvm use 20.12.1
# Now using node v20.12.1 (npm v10.5.0)
node 버전 적용 확인
1
2
node -v
# v20.12.1
설치된 npm 버전 확인
node 설치 시 딸려오는 npm 버전 확인
1
2
npm -v
# 10.5.0
정리
Ubuntu 환경에서 Jekyll을 이용해 블로그 구조를 생성하고, Chirpy 테마를 적용하여, Github을 통해 호스팅하기
이번 글에서는 전체 과정 중 첫 단추인 환경구성에 대해 살펴보았습니다. 여러 블로그에서 참고할 만한 자료가 많았지만 현재 시점에서 수행되지 않거나 알 수 없는 오류를 마주하는 경우가 많았습니다. 특히 이런 오류를 해결해가는 글이 많았는데, 개인적으로 내린 결론은 1) 처음에 환경구성에 문제가 있었거나 2) Jekyll 설치 및 Chirpy 테마 적용 과정에서 무언가 꼬인 것이었습니다.
이번 글을 통해 설치를 무사히 마쳤다면 다음 글에서 다룰 Jekyll 설치와 Chirpy 테마 적용에서는 큰 문제가 없을 것이라 기대합니다. 감사합니다.