16

インストール中に次のエラー メッセージが表示されます。詳細を投稿する必要がある場合はお知らせください。

次の場所の指示に従いました: https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

ruby 1.9.2p136 (2010-12-25) [i386-mingw32] を使用しています。

ここに私が得るものがあります:

E:\work_desk\trunk>gem install mysql2 -v 0.2.4
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.

C:/Ruby192/bin/ruby.exe extconf.rb
checking for rb_thread_blocking_region()... yes
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:/Ruby192/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:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.
2.4 for inspection.
Results logged to C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.4/ext/mysql2/ge
m_make.out
4

7 に答える 7

31

インストールしようとしているmysql2gemの特定のバージョン(0.2.4)には、Windowsのバイナリがないだけでなく、Windowsで問題があります。

バージョンを示さずにmysql2gemをインストールしてください。

gem install mysql2

これは最新バージョン(これを投稿した時点では0.2.6)をインストールし、コンパイル手順をスキップするWindows用のバイナリも提供します。

それでもコンパイルを強制したい場合(MySQLのバージョンがバイナリgemの生成に使用されたものと異なるため、RubyInstallerWebサイトからRubyInstallerのDevKitをインストールする必要があります。

http://rubyinstaller.org/downloads

そして、私たちのウィキ(ダウンロードページからリンクされている)からのDevKitインストール手順に従ってください

gemのインストールプロセス中にヘッダーとライブラリの両方へのパスを指定し、次の手順からMySQLのインストール場所を調整する必要があります。

subst X: "C:\Program Files (x86)\MySQL\MySQL Server 5.1" 
gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --with-mysql-lib=X:\lib\opt 
subst X: /D

上記のコマンドはsubst、スペースを含むパスの問題を回避するために使用します。これは常に回避する必要があります。

お役に立てれば。

于 2011-03-20T13:28:07.317 に答える
18

それを機能させる方法を探し回った後、コマンドプロンプトで次のようにインストールしました。

gem install mysql2 -v 0.2.6

次の結果が得られます。

Fetching: mysql2-0.2.6-x86-mingw32.gem (100%)
Successfully installed mysql2-0.2.6-x86-minw32
1 gem installed
Installing ri documentation for mysql2-0.2.6-x86-mingw32...
Enclosing class/module 'mMysql2' for class Client not known
Installing RDoc documentation for mysql2-0.2.6-x86-mingw32...
Enclosing class/module 'mMysql2' for class Client not known

それを試してみてください。それはうまくいくはずです。

于 2011-08-21T19:50:16.000 に答える
3

それでも Windows7 に mysql2 gem をインストールできない場合、または従うべき手順がよくわからない場合は、この投稿を参照してください。段階的なインストールに役立ちます - http://rorguide.blogspot.com/2011/ 03/installing-mysql2-gem-on-ruby-192-and.html

mysql_api.so エラー ( C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql-2.8.1-x86-mingw32/lib/1.9/mysql_api.so) の場合は、「libmySQL.dll」ファイルを からC:\Program Files\MySQL\MySQL Server 5.1\binにコピーします。C:\Ruby192\bin

詳細については、この投稿を参照してください - http://rorguide.blogspot.com/2011/03/getting-error-specified-module-could.html .

うまくいけば、これはあなたの問題を整理するのに役立ちます.

于 2011-04-01T18:16:45.700 に答える
2

RailsInstaller から始めます。

これは、mysql サーバーをローカルで実行しており (ローカル開発)、Ruby が 32 ビットでコンパイルされていることを前提としています。( ruby -v.x64 || i386 を確認してください。)

mysql-community-web-installer をダウンロードします。右上で 32-bit を選択します。ほとんどの場合、サーバーが必要です。ワークベンチも便利です。

gem コマンドにはスペースを含まないパスが必要なので、subst を使用します。

subst X: "C:\Program Files (x86)\MySQL\MySQL Server 5.6"
gem install mysql2 -v=0.3.13 --platform=ruby -- --with-mysql-dir=X:

PATH に libmysql.dll が必要です。最も簡単な方法は、それを Ruby の bin ディレクトリにコピーすることです。

copy "C:\Program Files (x86)\MySQL\MySQL Server 5.6\lib\libmysql.dll" "C:\RailsInstaller\Ruby2.0.0\bin"

ノート

これを PowerShell から実行しないでください。(DevKit は、powershell でパス情報を変更する際に問題があります。)

RailsInstaller の ruby​​ などはすべて 32 ビットでコンパイルされており、32 ビット ライブラリにリンクする必要があるため、すべてのライブラリが 32 ビットであることを確認してください。

サーバーをローカルに配置したくない場合は、C コネクタをインストールし、そのディレクトリと libmysql.dll を使用してこれらの手順を実行してください。混在させないでください。.dll が、gem をコンパイルしたバージョンと一致していることを確認してください。

于 2014-01-02T04:34:26.903 に答える
0

@Mrk Fldig の解決策を試しましたが、うまくいきませんでした...問題を解決したのは次のとおりです。

  1. Windows 7 32ビット用の最新のMySQLインストーラーをダウンロードしました
  2. 次のコマンドで gem をインストールしました。gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:/Program Files/MySQL/MySQL Connector C 6.1 6.1.2/"'

注意すべき落とし穴の 1 つは、バックスラッシュ (\) を通常のスラッシュ (/) に変更したことです。バックスラッシュを使用して同じ手順を試しましたが、うまくいきませんでした。

MySQL Connector C 6.1 6.1.2インストーラーには、ディレクトリに MySQL 用の C コネクタが既に含まれています。したがって、orパラメーター--with-mysql-dirなしでパラメーターのみを渡すと、gem はおよびディレクトリと同じディレクトリを参照します。--with-mysql-lib--with-mysql-includelibinclude

于 2013-12-13T13:58:09.490 に答える
0

これから:

checking for main() in -llibmysql... no

MySQL ドライバーとアプリがインストールされていないようです。もしそうなら、彼らはデフォルトの場所にインストールすることを許可されましたか? サーバーが別のマシンで実行されている場合は、少なくともクライアント ソフトウェアが必要です。

于 2011-03-20T09:11:14.327 に答える