1

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があれば良かったのですが、彼らはそれをやめたと思います。

4

2 に答える 2

1

これに対処しなければならない次の貧弱な樹液の答えは、多くの引用です。

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\""
于 2015-01-13T05:49:37.700 に答える
-1
bundle config --local --with-mysql-include 'C:\INC_PATH\include'
bundle config --local --with-mysql-lib 'C:\LIB_PATH\lib'

上記は、.bundle/configファイルの現在のディレクトリに構成ディレクティブを保存します。これら 2 つのディレクティブを実行したら、 normal を試してくださいbuild install。それが役に立てば幸い。

詳細情報.

于 2013-09-06T07:51:02.340 に答える