bundle config
bundlerの構成オプションを設定します。
文法
bundle config [name [value]]
説明
このコマンドは、Bundlerの設定システムとの対話を可能にするものです。 Bundlerは自身の設定を、下記の優先順位で取得します。
- ローカルのアプリケーション(
app/.bundle/config
) - 環境変数
- ユーザーのホームディレクトリ(
~/.bundle/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)を参照してください。
通常これらの設定は、bundle install(1)のコマンドに適切なフラグを使用することによって、 アプリケーション毎に行われるべきです。
これらは好みに応じて、環境変数またはbundle config
のどちらかを通して、
グローバル的に設定することが可能です。
もし両方を使用した場合は、環境変数が優先されます。
下記は、環境変数としてのみ利用できる追加設定になります。
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
© 2010 - 2017 STUDIO KINGDOM