読者です 読者をやめる 読者になる 読者になる

なか日記

一度きりの人生、楽しく生きよう。

Windows環境にJekyll 1.4を導入する(自家用メモ)

ツール

Agile459のサイトがJekyllで作成されており、自分も触ってみたくなりました。

そこで、Cygwinで環境を作ろうとしたのですが、うまく作成できずさじを投げたところ、msys環境での構築手順を@さんが公開されていたので、それを参考に環境を作ってみました。

@さん、情報ありがとうございます。

バージョンが若干違う以外はほとんど同じです。「自分が環境作れたらいいや」な感じなので、細かい所は省略してたりしますので、詳しいこと@さんのエントリを見てください。

Rubyの導入

ダウンロード

RubyInstaller for WindowsDownloadsページからRubyとDevKitのインストーラをダウンロードします。

Rubyインストール

Rubyインストーラを起動し、適当な場所にインストールします。 デフォルトだとC:\Ruby200-x64になります。

DevKitインストール

DevKitのインストーラを起動し、適当な場所にインストールします。 デフォルトだとC:\RubyDevKitになります。

コマンドプロンプトを起動し、Rubyのbinフォルダ(C:\Ruby200-x64\bin)にパスを通しておきます。*1

そして、dk.rbのinitとinstallを行います。

> ruby dk.rb init
> ruby dk.rb install

Jekyllの導入

コマンドプロンプトから以下のコマンドを実行してJekyllをインストールします。

> gem install jekyll --version "=1.4.2"

pygments.rb のダウングレード

デフォルトでインストールされたpygmentsのバージョンを0.5.0にダウングレードします。

> gem uninstall pygments.rb --version ">0.5.0"
> gem install pygments.rb --version "=0.5.0"

現時点で0.5.4ですが、実行時にサーバーは起動するものの、以下の様なエラーが出力されて気持ち悪いです。

> jekyll serve
Configuration file: C:/Temp/jekyll-test/_config.yml
            Source: C:/Temp/jekyll-test
       Destination: C:/Temp/jekyll-test/_site
      Generating... c:/Apps/Develop/Ruby200-x64/lib/ruby/gems/2.0.0/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:162: warning: cannot close fd before spawn
'which' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
done.
    Server address: http://0.0.0.0:4000
  Server running... press ctrl-c to stop.

UTF-8 対策

ソースに日本語を含んでいると以下の様なエラーになりますので、環境変数RUBYOPTに-EUTF-8を設定しておきます。

invalid byte sequence in Windows-31J
error: invalid byte sequence in Windows-31J. Use --trace to view backtrace

Pygmentsの導入

Pythonのインストール

Download Pythonからインストーラをダウンロードします。

インストーラを起動し、適当な場所にインストールします。 デフォルトだとC:\Python27になります。

環境変数PATHC:\Python27C:\Python27\Scriptを追加しておきます。

easy_installの導入

ez_setup.pyをダウンロードし、以下のコマンドでインストールします。

> python ez_setup.py

Pygmentsの導入

以下のコマンドでPygmentsをインストールします。

> easy_install pygments

Jekyllの動作確認

以下のコマンドを実行し、サイトの作成とサーバの起動を行います。

> jekyll new jekyll-test
New jekyll site installed in C:/Temp/jekyll-test.

> cd jekyll-test

> jekyll serve
Configuration file: C:/Temp/jekyll-test/_config.yml
            Source: C:/Temp/jekyll-test
       Destination: C:/Temp/jekyll-test/_site
      Generating... done.
    Server address: http://0.0.0.0:4000
  Server running... press ctrl-c to stop.

その後、ブラウザでhttp://localhost:4000/にアクセスし「Your New Jekyll Site」という画面が表示されればOKです。

補足

現時点でJekyllの最新バージョンは1.4.3なのですが、以下の様なエラーが発生します。

> jekyll serve
Configuration file: C:/Temp/jekyll-test/_config.yml
            Source: C:/Temp/jekyll-test
       Destination: C:/Temp/jekyll-test/_site
      Generating... error: Invalid argument - C:/Temp/jekyll-test/_site/C:. Use --trace to view backtrace

ググってみたところ、以下の情報があったので、本手順では1.4.2をインストールしています。 ruby - Jekyll - Error Running 'Jekyll Serve' - Stack Overflow

*1:もちろん、システム環境変数等に登録しておいても構いません。