on
MAC M3 에서 Ruby & Jekyll 설치
이 글은 저의 개인 Mac M3 환경 상에서 ruby 를 설치하는 과정을 남긴 포스팅 입니다.
첫번째 시도 : Homebrew 를 사용하여 Ruby & Jekyll 설치
Homebrew 를 활용하여 Ruby 의 설치는 매우 쉽게 가능 합니다.
Homebrew 를 통한 Ruby 설치를 위해 아래와 같이 명령어를 입력 하였습니다.
## 이 명령은 최신 버전의 Ruby 를 설치합니다.
brew install ruby
성공적으로 루비가 설치되고 나는 설치된 Ruby 와 함께 설치된 RubyGems 라는 Ruby 패키지 관리 시스템을 활용하여 jekyll & bundler 설치를 시도하였습니다.
Jekyll은 Ruby 기반으로 Markdown 이나 HTML 과 같은 간단한 마크업 언어로 작성된 내용을 사용하여 웹사이트를 생성할 수 있습니다.
bundler는 Ruby 프로젝트에서 필요한 모든 gem 을 관리하고 프로젝트에 필요한 정확한 버전의 gem 을 설치하는 데 사용됩니다.
## 이 명령은 최신 버전의 jekyll 와 bundler 을 설치합니다.
gem install jekyll bundler
하지만 위 과정에서 정상적으로 설치가 되지 않았습니다.
설치되지 않은 사유는 아래 에러 메세지와 같은 openssl 관련 패키지 이슈 였습니다.
% gem install jekyll bundler
ERROR: While executing gem ... (Gem::Exception)
OpenSSL is not available. Install OpenSSL and rebuild Ruby or use non-HTTPS sources (Gem::Exception)
/opt/homebrew/Cell
...(이하 생략)...
아무래도 Ruby 를 Homebrew 로 설치하였을 때 Ruby 의 컴파일 과정 중 알 수 없는 이유에 의해 시스템 환경설정이나 Ruby 빌드 구성 등의 문제로 정상적으로 Ruby 가 빌드되지 않은 듯 합니다.
두번째 시도 : RVM (Ruby Version Manager) 을 사용하여 Ruby 설치
저는 위 문제를 해결하기 위해 구글링 시도 중 RVM 을 활용해 설치하는 방법을 찾았고 아래 링크의 글을 참고하여 Homebrew 가 아닌 RVM 을 활용한 Ruby 설치를 시도하기로 결정 하였습니다.
https://github.com/rvm/rvm/issues/5365
아래 명령어를 실행하여 RVM 을 설치합니다.
\curl -sSL https://get.rvm.io | bash -s stable
설치가 완료되면 RVM 을 초기화해야 합니다.
아래 명령어를 실행하여 터미널에서 RVM 을 사용할 수 있도록 환경을 설정합니다.
source ~/.rvm/scripts/rvm
이제 RVM 이 성공적으로 설치되었고 활성화되었습니다.
터미널을 다시 시작하여 RVM 이 제대로 작동하는지 확인할 수 있습니다.
아래 명령어를 실행하여 RVM 이 제대로 설치되었는지 확인합니다.
rvm --version
RVM 이 설치가 완료되면 위 Github 에서 소개한 아래와 같은 명령어를 통해 Ruby 3.2.2 버전의 설치가 가능합니다.
rvm reinstall 3.2.2 --with-openssl-dir=$(brew --prefix openssl) --with-readline-dir=$(brew --prefix readline) --with-libyaml-dir=$(brew --prefix libyaml) --disable-dtrace --disable-docs
Ruby 설치가 완료되면 아래와 같은 명령어를 통해 Ruby 가 정상적으로 설치되었는지 확인 가능합니다.
ruby --version
이제 다시 jekyll & bundle 설치를 시도합니다.
## 이 명령은 최신 버전의 jekyll 와 bundler 을 설치합니다.
gem install jekyll bundler
설치가 완료된 후 이제 정상적으로 jekyll 사용이 가능합니다.
## Bundler를 사용하여 프로젝트의 종속성을 관리하고, 이 종속성에 포함된 Jekyll 을 실행하여 로컬 웹서버를 시작하는 명령입니다.
bundle exec jekyll serve
두번째 방법과 첫번째 방법을 비교해본다면 아마도 Ruby 의 빌드 과정 중 필요한 기타 패키지의 경로를 참조하지 못하지 않았을까 싶습니다.
관련하여 구글링을 좀더 진행해보았고 아래 포스팅과 같이 저와 유사한 방식으로 해결한 사례를 찾아볼 수 있었습니다.
https://leesh90.github.io/environment/2021/04/03/openssl-install/
맺음말
위 포스팅 내용과 같이 저는 RVM 통하여 Jekyll 설치 이슈를 해결 하였지만 Homebrew 는 안되고 RVM 은 된다의 문제는 아닐 것입니다.
아마도 --with-openssl-dir=$(brew --prefix openssl)
와 같은 설정을 통해 “Ruby 컴파일 시 올바른 라이브러리를 참조하도록 옵션을 설정했기 때문이 아닐까”가 저의 예상 입니다.
Jekell 공식 홈페이지에서는 아래 링크와 같이 Chruby 를 통한 Ruby 와 Jekyll 의 설치를 권장하는 만큼 왠만하면 저처럼 버전관리자를 활용하여 설치하시는 것을 가급적이면 추천 드립니다.
https://jekyllrb.com/docs/installation/macos/
그리고 아직 Homebrew 에 대한 이해도가 낮은 만큼 좀 더 이 부분에 대해 경험해보며 무엇이 문제인지 고민해보도록 하겠으며, 새로 이해한 내용이 있다면 이 글을 업데이트하거나 연재글로 링크를 걸 수 있도록 하겠습니다.
그리고 위 시행착오 과정에서 제가 경험했던 과정을 누군가는 좀더 수월하게 경험하였으면 합니다.