WindowsでRails環境を構築時
前提条件
- Rubyインストール済み
- 構築マシンにMySQLがインストール済み http://dev.mysql.com/downloads/installer/
- DevKitがインストール済み https://github.com/oneclick/rubyinstaller/wiki/Development-Kit からダウンロードして展開・配置後
ruby dk.rb install
ここまでを準備しておく。
何もしないでやるとどうなるか?
gem install mysql2
結果はライブラリやインクルードが見つからないってエラーになってインストールに失敗する。
原因
gemがmysql2インストール時に、mysql関連のライブラリを見つけられていないと思われる
対応
インストール時の引数で、MySQLのライブラリとヘッダファイルがあるディレクトリを指定する。具体的にはMySQLのインストール先の下にバージョンごとのフォルダがあるので、その配下にincludeとlibというフォルダがあるのでそこを指定する。
gem install mysql2 --platform=ruby -- '--with-mysql-lib="MySQLのインストール先\lib" --with-mysql-include="MySQLのインストール先\include"'
こんな感じ。もしMySQLのインストール先ディレクトリにProgram Filesなどスペース入りのフォルダがある場合はフォルダ指定の引数を\でエスケープする事
もう一押し
上記までだとローカルでRails実行時にMySQLのライブラリが見つからんエラーが出るので、使用しているrubyのbinディレクトリに上記のMySQLのライブラリフォルダにあるlibmysql.dllをコピーしておくと幸せ
おしまい
という感じで割と平穏無事に導入できます。
つーか、こんな苦労して構築せずに、素直にMacか仮想マシンにLinux入れて構築したいと思わないでもないが…