BundlerでJekyllを使う

Bundlerは、必要なgemとバージョンを追跡しインストールすることで、Rubyプロジェクトに一貫した環境を提供します。

BundlerはJekyllで使用できる素晴らしいツールです。プロジェクト毎に依存関係を追跡するため、異なるプロジェクトで異なるバージョンのJekyllを使用する場合や、システムやユーザーレベルでJekyllをインストールしたくない場合に、特に便利です。このチュートリアルでは、Baundlerを使用して、Jekyllをプロジェクト外にインストールせずに、新しいJekyllプロジェクトを作る方法を示します。

始める前に

このチュートリアルでは、RubyBundlerのインストールが必要です。インストール手順は、それぞれのwebサイトをご確認ください。

Bunblerの初期化

まず始めに行うことは、プロジェクト用の新しいディレクトリを作り、bundle initを実行することです。これは、(空のGemfileを作ることで)新しいBundlerプロジェクトを作成します。

mkdir my-jekyll-website
cd my-jekyll-website
bundle init

Bundlerの設定

このステップはオプションですが、行った方がよいでしょう。プロジェクトのサブディレクトリ./vendor/bundle/にgemをインストールするため、Bundlerの設定を行います。これにより、依存関係を独立した環境にインストールして、システム上の他のgemと競合しないようにすることができます。このステップを飛ばすと、Bundlerは依存関係をシステムにグローバルにインストールします。

bundle install --path vendor/bundle
Bundler設定は永続的です

この手順はプロジェクト毎に1回だけ必要です。Bundlerは設定を./.bundle/configに保存するので、将来のgemは同じ場所にインストールされます。

Jekyllを追加する

次は、新しいプロジェクトが依存するJekyllを追加するためにBundlerを使用します。このコマンドはJekyll gemをGemfileに追加し、./vendor/bundle/フォルダにインストールします。

bundle add jekyll

Jekyll骨格を作成する

Jekyllがインストールされました。サイトの骨格を作るためにjekyllを使うことができます。フォルダにはBundlerのファイルが既にあり空ではないので、--forceパラメータが必要です。Gemfileが既に存在しているとJekyllが混乱するので、bundle installを分割して実行します。

bundle exec jekyll new --force --skip-bundle .
bundle install

サイトをサーブする

webサイトの準備ができました! bundle exec jekyll serveでWebサイトをサーブして、http://127.0.0.1:4000を訪れましょう。これであなた自身がサイトの構築を続けていく準備ができました。Jekyllの通常のコマンドは全て利用できますが、プロジェクトフォルダにインストールしたJekyllのバージョンをBundlerで実行するためにbundle execをコマンドの前につけることを忘れないでください。

ソース管理へのコミット

新しいサイトをバージョン管理で保存している場合、./vendor/./.bundle/フォルダにはユーザーやプラットフォーム固有の情報が含まれているため無視したいでしょう。新しいユーザーは最新のGemfileGemfile.lockに基づいて正しい依存関係をインストールできます。GemfileGemfile.lockはどちらもチェックインが必要です。必要に応じて、次の.gitignoreを使用してください。

.gitignore

# Ignore metadata generated by Jekyll
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata

# Ignore folders generated by Bundler
.bundle/
vendor/
Next