インストール中に次のエラーメッセージが表示されます。詳細を投稿する必要がある場合はお知らせください。
次の場所からの指示に従いました: 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
インストールしようとしているmysql2gemの特定のバージョン(0.2.4)には、Windowsのバイナリがないだけでなく、Windowsで問題があります。
バージョンを示さずにmysql2gemをインストールしてください。
gem install mysql2
これは最新バージョン(これを投稿した時点では0.2.6)をインストールし、コンパイル手順をスキップするWindows用のバイナリも提供します。
それでもコンパイルを強制したい場合(MySQLのバージョンがバイナリgemの生成に使用されたものと異なるため、RubyInstallerのDevKitをインストールする必要がありますRubyInstaller Webサイトから:
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
を使用して、スペースのあるパスの問題を回避します。これは、常に回避する必要があります。
お役に立てれば。
それを機能させる方法を探し回った後、私はついにコマンドプロンプトで次のようにインストールしました:
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
それを試してみてください。動作するはずです。
それでもWindows7にmysql2gemをインストールできない場合、または従う手順が明確でない場合は、この投稿を読んでください。ステップバイステップのインストールに役立ちます--- 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 。
うまくいけば、これはあなたの問題を整理するのに役立つでしょう。
RailsInstallerから始めます。
これは、mysqlサーバーをローカルで実行していて(ローカル開発)、Rubyが32ビットでコンパイルされていることを前提としています。(チェックRuby -v
。 x64 || i386。)
Mysql-community-web-installerをダウンロードします。右上2ビットを選択。ほとんどの場合、サーバーが必要です。ワークベンチも便利です。
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をコンパイルしたバージョンと一致していることを確認してください。
これから:
checking for main() in -llibmysql... no
mySQLドライバとアプリをインストールしていないようです。もしそうなら、彼らは彼らのデフォルトの場所にインストールすることを許可されましたか?サーバーが別のマシンで実行されている場合は、少なくともクライアントソフトウェアが必要になります。
@Mrk Fldigの解決策を試しましたが、うまくいきませんでした...問題を解決したのは次のとおりです。
gem install mysql2 --platform=Ruby -- '--with-mysql-dir="C:/Program Files/MySQL/MySQL Connector C 6.1 6.1.2/"'
注意すべき落とし穴の1つは、円記号(\)を通常のスラッシュ(/)に変更したことです。バックスラッシュを使用して同じ手順を試しましたが、機能しませんでした。
インストーラーには、MySQL用のCコネクターがMySQL Connector C 6.1 6.1.2
ディレクトリーにすでに含まれています。したがって、--with-mysql-dir
または--with-mysql-lib
パラメータなしで--with-mysql-include
パラメータのみを渡すと、gemはlib
とinclude
の同じディレクトリを参照します。ディレクトリ
次に、gemを再度再インストールします。