Windows での Jekyll
Windows は公式にサポートされているプラットフォームではありませんが、適切な調整を行うことで Jekyll を実行できます。
Ruby と Jekyll のインストール
RubyInstaller を使用したインストール
Ruby と Jekyll をインストールする最も簡単な方法は、Windows 用の RubyInstaller を使用することです。
RubyInstaller は、Ruby 言語、実行環境、重要なドキュメントなどを含む、自己完結型の Windows ベースのインストーラーです。
ここでは、RubyInstaller-2.4 以降のみを扱います。古いバージョンは、Devkit を手動でインストールする必要があります。
- RubyInstaller のダウンロード から **Ruby+Devkit** バージョンをダウンロードしてインストールします。インストールにはデフォルトのオプションを使用してください。
- インストールウィザードの最後の段階で、
ridk install
ステップを実行します。これは、ネイティブ拡張機能を持つ gem をインストールするために必要です。これに関する追加情報は、RubyInstaller のドキュメント にあります。オプションからMSYS2 and MINGW development tool chain
を選択してください。 - スタートメニューから新しいコマンドプロンプトウィンドウを開き、
PATH
環境変数の変更を有効にします。gem install jekyll bundler
を使用して Jekyll と Bundler をインストールします。 - Jekyll が正しくインストールされているかどうかを確認します:
jekyll -v
Jekyll が正しくインストールされていない場合、エラーが表示されることがあります。システムを再起動し、もう一度 jekyll -v
を実行してください。エラーが解決しない場合は、RubyInstaller の issue を開いてください。
これで、Jekyll を使用できるようになりました!
Windows 10 の Bash を使用したインストール
Windows 10 バージョン 1607 以降を使用している場合、Jekyll を実行する別のオプションは、Windows Subsystem for Linux を インストールすることです。
Windows Subsystem for Linux が有効になっている必要があります。
すべてのパッケージとリポジトリが最新の状態であることを確認します。新しいコマンドプロンプトまたは PowerShell ウィンドウを開き、bash
と入力します。
ターミナルは Bash インスタンスになっているはずです。次に、リポジトリリストとパッケージを更新します。
sudo apt-get update -y && sudo apt-get upgrade -y
次に、Ruby をインストールします。そのためには、Ubuntu 用に最適化された Ruby のバージョンをホストしている BrightBox のリポジトリを使用しましょう。
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.5 ruby2.5-dev build-essential dh-autoreconf
次に、Ruby gem を更新します
gem update
Jekyll をインストールします
gem install jekyll bundler
ここでは sudo
は不要です.
Jekyll のバージョンを確認します
jekyll -v
これで完了です! Jekyll の使用を開始できます。
_posts
フォルダを調べて、時間管理が正常に機能していることを確認できます。ファイル名に現在の日付が付いたマークダウンファイルが表示されます。
非スーパーユーザーアカウントの問題
`jekyll new` コマンドで "Your user account isn't allowed to install to the system RubyGems" というエラーが表示された場合は、トラブルシューティング の「非スーパーユーザーとして Jekyll を実行する」手順を参照してください。
Bash on Ubuntu on Windows はまだ開発中のため、問題が発生する可能性があります。
エンコーディング
UTF-8 エンコーディングを使用する場合、ファイルが BOM を表す文字で始まる場合、Jekyll は壊れます。そのため、ファイルの先頭にこのバイトシーケンスが表示された場合は削除してください。
さらに、サイトの生成プロセス中に Liquid Exception: Incompatible character encoding
エラーが発生する場合は、コンソールウィンドウのコードページを UTF-8 に変更する必要がある場合があります。以下を実行してください
chcp 65001
タイムゾーンの管理
Windows には zoneinfo データのネイティブソースがないため、Ruby インタプリタは IANA タイムゾーンを理解しません。それらを使用すると、TZ
環境変数がデフォルトで UTC/GMT 00:00 になります。
Windows ユーザーは、タイムゾーンを定義する POSIX 形式を使用してキーを設定することで、ブログのタイムゾーンを定義することもできますが、変更される DST ルールに合わせてクロックを変更する場合、ユーザーフレンドリーではありませんでした。
Jekyll は rubygem を使用して、確立された IANA タイムゾーンデータベース に基づいてタイムゾーンを内部的に設定するようになりました。
Jekyll v3.4 以降で作成された「新しい」ブログでは、デフォルトで Gemfile
に以下が追加されますが、既存のサイトは Windows での開発を有効にするために Gemfile
(およびインストールされた gem) を更新する必要があります
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end
自動再生成
Jekyll は、ビルドまたはサーブ中に --watch
スイッチが指定された場合、変更を監視するために listen
gem を使用します。listen
は UNIX システムの組み込みサポートを備えていますが、Windows との互換性のために追加の gem が必要な場合があります。
Windows でのみ自動再生成に問題がある場合は、サイトの Gemfile
に以下を追加してください
gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform?
wdm
gem を正常にインストールするには、Ruby+Devkit バージョンの RubyInstaller を使用し、MSYS2 ビルドツールをインストールする必要があります。