mysql2 gem のビルドで必要なパラメーターが extconf に渡されるように、バンドラーを構成しようとしています。問題は、複数のパラメーターを渡す方法がわからないことです。
私のGemfileには、次のものがあります。
gem mysql2, '= 0.3.11'
(最新バージョンにはコンパイルをまったく妨げる問題があるため、このあたりの別の投稿で見つけた推奨事項に基づいて0.3.11を使用しています。)
私はこれを試しました:
bundle config build.mysql2 --with-mysql-include=C:\DevEnv\Tools\Ruby\mysql-connector-c-noinstall-6.0.2-winx64\include --with-mysql-lib=C:\DevEnv\Tools\Ruby\mysql-connector-c-noinstall-6.0.2-winx64\lib
また、パラメーターを単一のパラメーターに引用してみました。
bundle config build.mysql2 "--with-mysql-include=C:\DevEnv\Tools\Ruby\mysql-connector-c-noinstall-6.0.2-winx64\include --with-mysql-lib=C:\DevEnv\Tools\Ruby\mysql-connector-c-noinstall-6.0.2-winx64\lib"
gem が実際に使用されているコマンドラインを表示しているため、機能していないことがわかりますが、lib を提供できないためにビルドが失敗します)。
C:/DevEnv/Tools/Ruby/Ruby200-x64/bin/ruby.exe extconf.rb --with-mysql-include=C:\DevEnv\Tools\Ruby\mysql-connector-c-noinstall-6.0.2-winx64\include
パラメーターのみを--with-mysql-lib
指定するか、パラメーターの順序を入れ替えると、ビルドはライブラリの検索に合格しますが、代わりにインクルードが見つからないために失敗します。
同じフラグを gem に直接渡すと、問題なく動作します。しかし、それは、展開する段階になると、それほど素晴らしいものではありません。
他の人はこれをどのように行っていますか?
PSバイナリDLLがあれば良かったのですが、彼らはそれをやめたと思います。