3

Windows Server2003にRedmine2.1.4をインストールしようとしています。これを機能させるには、activerecord-mysql-adaptergemをインストールする必要があります。gemはに依存しているようmysql-2.9.0.gemです。後者をrubygemsからダウンロードして実行しました:

gem install mysql-2.9.0.gem

これにより、次の出力が得られます。

C:\>gem install mysql-2.9.0.gem
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing mysql-2.9.0.gem:
        ERROR: Failed to build gem native extension.

        C:/Ruby193/bin/ruby.exe extconf.rb
checking for main() in -llibmysql... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/Ruby193/bin/ruby
        --with-mysql-dir
        --without-mysql-dir
        --with-mysql-include
        --without-mysql-include=${mysql-dir}/include
        --with-mysql-lib
        --without-mysql-lib=${mysql-dir}/lib
        --with-libmysqllib
        --without-libmysqllib


Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql-2.9.0 for inspection.
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql-2.9.0/ext/mysql_api/gem_make.out

推測では、MySQLCコネクタライブラリが不足している可能性があります。mysql-connector-c-6.0.2-win32.msi両方とhttp://dev.mysql.com/downloads/connector/c/mysql-connector-c-6.0.2-win32-vs2005.msiからダウンロードしましたが、両方のインストーラーが次のように終了しました。 ここに画像の説明を入力してください

にコピーC:\Program Files\MySQL\MySQL Server 5.1\lib\debug\libmysql.dllしてみましC:\Ruby193\binたが、mysql-2.9.0.gemのインストールの問題も解決しませんでした。

他に何を試すことができますか?

編集

私が理解したログから、Rubyは、質問で言及されたいくつかのソースで見つかったように、$ RUBY_HOME \ binではなく、$ RUBY_HOME\libの下でlibsを探していました。したがって、libmysqlを$ MySQL_HOME\libから$RUBY_HOME\ libに移動することは少し役に立ちましたが、Rubyは他のいくつかのlibとヘッダーを見つけることができなくなりました。だから私は推測しています、私は次のようなオプションを使用する必要があります:

C:\>gem install mysql-2.9.0.gem --platform=ruby --with-opt-lib="C:/Program Files/MySQL/MySQL Server 5.1/lib" --with-opt-include="C:/Program Files/MySQL/MySQL Server 5.1/include"

これも機能しません(おそらくパスにスペースがあるため)。

4

2 に答える 2

10

http://dev.mysql.com/downloads/connector/c/からコネクタのインストーラーバージョンを使用せずに試して、ルートフォルダーまたはスペースのないフォルダーパスのコンテンツを抽出してから、mysqlgemをインストールしてみてください

gem install mysql --platform=ruby -- --with-mysql-dir=C:/mysql-connector-c-noinstall-6.0.2-win32
于 2012-11-28T13:27:48.837 に答える
2

mysqlgemバージョン2.9.0rubyx86-mingw32プリコンパイル済みバイナリの両方をリリースしました。

RubyGemsに適切なプラットフォームを決定させると、x86-mingw32プラットフォームgemが自動的にインストールされ、コンパイルプロセスが回避されます。

インストールすると、MySQL Connector / Cをダウンロードし、そのDLLを適切な場所に配置するように指示する一連の手順が表示されます。

C:\Users\Luis>gem install mysql
Fetching: mysql-2.9.0-x86-mingw32.gem (100%)

======================================================================================================

  You've installed the binary version of mysql.
  It was built using MySQL Connector/C version 6.0.2.
  It's recommended to use the exact same version to avoid potential issues.

  At the time of building this gem, the necessary DLL files where available
  in the following URL:

  http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.2-win32.zip/from/pick

  You can put the lib\libmysql.dll available in this package to your Ruby bin directory.
  E.g. C:\Ruby\bin

======================================================================================================

Successfully installed mysql-2.9.0-x86-mingw32
1 gem installed

すでに実行中のバージョンのMySQLに接続するだけでよい場合は、MySQLをダウンロードまたはインストールする必要はありません。

RubyGemsとBundlerはどちらも、適切なプラットフォームを自動的に検出し、独自にコンパイルする必要なしに、適切なコンパイル済みバイナリをインストールします。

プロキシの背後にいる場合は、 (ヘルプを参照)--http-proxyのパラメーターを使用するか、環境変数を設定してください。gem installHTTP_PROXY

お役に立てば幸いです。

于 2012-11-28T19:37:27.113 に答える