WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

`bundle install`実行時に個々のgemのインストールオプションを指定する方法

      2015/05/19

bundle config

以下のように、gemのインストールするときにオプションを指定することがある。

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

`bundle install`で複数のgemをまとめてインストールするときにも、特定のgemにはこのようなオプションを付加したいことがある。
そのようなケースでは、`bundle config`コマンドで個々のオプションを指定することができる。

例えば、上記のmysql2に–with-mysql-configオプションを指定するには、以下のようにする。

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

`bundle config build. オプション`という書式で書く。

これで`bundle install`実行時にmysql2をインストールするときは、上記オプションが付加されてインストールされるようになる。

`bundle config`で設定した内容は`bundle config`を引数なしで実行することで確認できる。

$ bundle config
Settings are listed in order of priority. The top value will be used.

build.mysql2
Set for the current user (/home/okishima/.bundle/config): "--with-mysql-config='/usr/local/bin/mysql_config'"

上記コマンドでは設定内容を保存しているファイル名も出力されているが、これらの設定ファイルは以下の場所にある可能性がある。

  • Railsアプリのルート
  • ユーザのホームディレクトリ
  • 環境変数

参考

 - Ruby ,