bundle config

bundlerの構成オプションを設定します。

文法

bundle config [name [value]]

説明

このコマンドは、Bundlerの設定システムとの対話を可能にするものです。 Bundlerは自身の設定を、下記の優先順位で取得します。

  1. ローカルのアプリケーション(app/.bundle/config)
  2. 環境変数
  3. ユーザーのホームディレクトリ(~/.bundle/config)
bundle config
引数無しで実行すると、現在バンドルされているの全てのBundler設定と、 どこにそれが設定されたのかを示す一覧を出力します。
bundle config <name>
その設定の値と、それがどこに設定されたかを出力します。
bundle config <name> <value>
現在のユーザーとして実行される全てのbundleの設定に対して、値を指定します。 設定は~/.bundle/config内に格納されます。 もしnameが既に設定されていれば、nameは上書きされ、ユーザーは警告を受けることになります。
bundle config --global <name> <value>
上記と同じ動作をします。
bundle config --local <name> <value>
ローカルのアプリケーションに対して設定をおこおないます。 この設定は、app/.bundle/configに格納されます。
bundle config --delete <name>
localとglobalの両方から、指定した設定を削除します。 --globalまたは--localとの互換性はありません。
BUNDLE_IGNORE_CONFIG
bundleの実行時にBUNDLE_IGNORE_CONFIG環境変数が設定されていると、 全ての設定が無視されます。

ビルドオプション

bundle configを使用してbundlerへフラグを指定することで、 特定のGemのインストールを行う度に、そのフラグをgemインストーラーに渡すことが出来ます。

一般的なGemであるmysqlの例で説明しますと、 Snow Leopard(Mac OSXの)ユーザーは、mysql_configの実行ファイルが見つけられる場所を、 設定フラグとしてgem installに渡す必要があります。

gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

実行ファイルが指定された場所はマシン毎に異なるため、 マシンごとにこれらのフラグを指定します。

bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config

このコマンドの実行後に、bundlerがmysqlのGemのインストールを必要とする度に、 この指定に沿ってフラグが渡されるようになります。

設定キー

bundler内の設定キーには2つの型があります。 1つは公式な型、もう1つは環境変数の型です。

例えば、--withoutフラグを、bundle install(1)に渡すことで、 Gemfile(5)内の特定のグループのインストールを行わないようにします。 Bundlerはapp/.bundle/config内でこの値を保持するため、 Bundler.setupの呼び出しで、インストールが行われていないGemfileから、 Gemを探すことをしません。 更にその後に続くbundle install(1)でも、この設定が記憶され、 それらのグループをスキップします。

この設定の公式な型はwithoutです。 公式な型から環境変数の型へ変換するには、それを大文字にし、先頭にBUNDLE_を付け加えます。 withoutの環境変数の型は、BUNDLE_WITHOUTになります。

利用可能なキーの一覧

下記は、全ての設定キーとその用途を説明した一覧になります。 これらの操作についてより詳しく知りたければ、bundle install(1)を参照してください。

path (BUNDLE_PATH)
Gemをインストールするディスク上の場所を指定します。 デフォルトは、開発環境(development)であれば$GEM_HOMEに、 --deploymentが使用された場合は、vendor/bundlerになります。
frozen (BUNDLE_FROZEN)
Gemfileの変更を禁止にします。 デフォルトは、--deploymentが使用された場合は、trueになります。
without (BUNDLE_WITHOUT)
Bundlerがインストールするべきではない、:区切りのGemのグループのリストを指定します。
bin (BUNDLE_BIN)
bundle内で、Gemからの実行ファイルを特定のディレクトリへのインストールを指定しあmす。 デフォルトはfalseです。
ssl_ca_cert (BUNDLE_SSL_CA_CERT)
CA(認証局)証明書ファイルが指定されたパス、 またはPEMフォーマットで信頼するCAの複数の証明書が含まれるフォルダのパスを指定します。
ssl_client_cert (BUNDLE_SSL_CLIENT_CERT)
X.509クライアント証明書とPEMフォーマットのキーを含むファイルのパスを指定します。

通常これらの設定は、bundle install(1)のコマンドに適切なフラグを使用することによって、 アプリケーション毎に行われるべきです。

これらは好みに応じて、環境変数またはbundle configのどちらかを通して、 グローバル的に設定することが可能です。 もし両方を使用した場合は、環境変数が優先されます。

下記は、環境変数としてのみ利用できる追加設定になります。

BUNDLE_GEMFILE
GemfileとしてBunlderが使用するべきファイル名を指定します。 このファイルの場所も、Gemfileでの相対パスの解決に使用されるプロジェクトのルートを設定します。 デフォルトでは、Bundlerは現在のワーキングディレクトリからGemfileが見つかるまで遡ります。

Bundlerはローカル内の、またはグローバル設定のBUNDLE_GEMFILEを無視します。

ローカルGitリポジトリ

Bundlerはリモートでは無く、代わりにローカルのGitリポジトリに対して動作させることも可能です。 これはローカルの上書きをすることで、設定することが可能です。

bundle config local.GEM_NAME /path/to/local/git/repository

例えば、ローカルのRackのリポジトリを使用するには、次のようにします。

bundle config local.rack ~/Work/git/rack

こうすることで、リモートのGitリポジトリからチェックアウトする代わりに、ローカルの上書きが使用されます。 sourceのパスと同様に、ローカルのGitリポジトリの変更の度に、Bundlerによって変更が自動的に選択されます。 これは、ローカルのGitリポジトリ内のコミットが、 Gemfile.lockのリビジョンをローカルのGitリポジトリのリビジョンへ更新することを意味します。 これはGitのサブモジュールと同様の注意が必要です。 リモートにプッシュ(push)する前に、ローカルの上書きがプッシュされたことを確認する必要があります。 もしくは、ローカルのマシンのみのコミットに留めます。(翻訳に自信なし)

Bundlerは開発者が間違った問い合わせをしていないか確認するために、多くのチェックを行います。 とりわけ、この機能が使用されるように、開発者にGemfile内でのブランチの指定を強制しています。 もし、Gemfile内で指定されるブランチと、ローカルのGitリポジトリのブランチが一致しない場合、Bunlderは処理を中止します。 これは、開発者が常に正しいブランチに対して作業することを保証し、 異なるブランチを誤ってロックしてしまうことを防ぎます。

最終的に、BundlerはGemfile.lcok内の現在のリビジョンが、ローカルのGitリポジトリ内に存在することを保証します。 これを行うことで、Bundlerはあなたがリモートの最新の変更を取得することを強制してくれます。

Gemのミラー

Bundlerはミラーを使用してgem供給元(source)の上書きをサポートします。 Gemの取得にミラーを使用する一方で、Gemfile内のgem供給元にrubygems.orgを設定することを可能にします。

bundle config mirror.SOURCE_URL MIRROR_URL

例えば、rubygems.orgのミラーの提供は、次のようにします。

bundle config mirror.http://rubygems.org http://rubygems-mirror.org

Gem供給元の証明書

Gemfile内に認証情報が書き込まれることを避けるために、 Bundlerを使用して任意のGemの供給元に対して、認証を設定することが可能です。

bundle config SOURCE_URL USERNAME:PASSWORD

例えば、ユーザーclaudette(クローデット:女性の名前)の認証情報を、 Gemの供給元であるgems.longerous.comに保存するには、次のように実行します。

bundle config https://gems.longerous.com/ claudette:s00pers3krit

 Back to top

© 2010 - 2017 STUDIO KINGDOM