工房火穂月Logo

Jekyllのインストール

公開日:

このサイトは、Jekyllを利用していますので、Macを新調した際に入れ直したのですが、サイトに記載の通りでは上手くいかなかったので、どう対応したかメモとして残しておきます。

環境

Mac : Mac mini (M1, 2020)
macOS : Monterey 12.1
挑戦日 : 2022/1/12

まずは、サイト記載の方法に従ってやってみた

問題なくクリア

素直にサイト記載の方法でやってみました。
Installation | Jekyllに記載の範囲はクリア。
Rubyは2.6.8が元々入っていました。

続いてOSごとの具体的インストール手順へ。Jekyll on macOS | Jekyll

xcode-select --install

で次のウィンドウが表示されるのでインストール。
xcode-select --install

macOS Catalina(10.15)以降は最初から入っているRubyの場所が変わってるので、SDKROOTの設定が必要とのこと。

export SDKROOT=$(xcrun --show-sdk-path)

Rubyは2.6.8だったので、次のInstall Rubyは無視。

不具合発生

では、bundlerとjekyllをインストールしましょうと実行。

gem install --user-install bundler jekyll

bundlerは問題なくインストールできたのですが、jekyllインストール時にエラーが発生。

  /System/Library/Frameworks/Ruby.framework/Version/2.6/usr/bin ruby -c lib/jekyll/commands/doctor.rb

RDoc is not a full Ruby parser and will fail when fed invalid ruby programs.

The internal error was:

        (NoMethodError) undefined method `[]' for nil:NilClass

ERROR:  While executing gem ... (NoMethodError)
    undefined method `[]' for nil:NilClass

ですって。

gem list

で確認すると、jekyll (4.2.1)は入っているのですが、jekyllコマンドを実行するとクラッシュ。

試行錯誤開始

やってみたけどダメだった

ひとまず、4.2.1はアンインストールして、バージョン指定で4.1.1をインストールしてみる。

gem uninstall jekyll

gem install --user-install jekyll -v "4.1.1"

エラーが出ずにインストールは完了。
ただし、jekyllコマンドを実行しようとするとクラッシュ。

どうにかできた

Rubyの方がダメそうな気配を感じたので、Homebrewをインストールして、Rubyをインストール。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
eval "$(/opt/homebrew/bin/brew shellenv)"

下2行は、Homebrewインストール時にPathが通ってないから、やっておけよと出たので。

ではHomebrewでRubyをインストール。

brew install ruby

echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"

こちらも下2行はインストール時にやっておけと出たので。
なお、Jekyllのサイトで紹介されているのと異なるパスです。
Rubyのバージョンを確認すると、3.0.3p157でちゃんと更新できていました。

最後に、Jekyllをインストール。ただ、4.2.1は挑戦せず、最初から4.1.1で。

gem install --user-install jekyll -v "4.1.1"
echo 'export PATH="$HOME/.gem/ruby/3.0.0/bin:$PATH"' >> ~/.zshrc
export PATH="$HOME/.gem/ruby/3.0.0/bin:$PATH"

jekyllコマンドも今度はきちんと動いたので、めでたしめでたし。

プラグインのインストール

jekyll-paginate-v2を使用しているので、そちらもインストール。

gem install jekyll-paginate-v2

実は、すっかり何を使用しているか忘れていて、build時に見つからないと怒られてしまったので、慌ててインストールしました。