重要文章閱讀:Ruby入門--Linux/Windows下的安裝、代碼開發及Rails實戰 http://www.linuxidc.com/Linux/2014-04/100242.htm
Ruby on rails初體驗系列文章:
http://www.linuxidc.com/Linux/2014-04/100245.htm
http://www.linuxidc.com/Linux/2014-04/100246.htm
http://www.linuxidc.com/Linux/2014-04/100247.htm
Windows server 2008 64bit
Mysql server 5.6
Ruby 2.0 64bit
DevKit
開始按照網上教程,安裝了mysql2
gem install mysql2 — ‘–with-mysql-lib=”C:\Program Files\MySQL\MySQL Server 5.6\lib” –with-mysql-include=”C:\Program Files\MySQL\MySQL Server 5.6\include”‘
安裝過程很順利,暗自慶幸。。。
第一次運行,出LoadError:
C:/Ruby200-x64/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require
‘: 126: 找不到指定的模塊。 – C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.
3.13/lib/mysql2/mysql2.so (LoadError)
from C:/Ruby200-x64/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:4
5:in `require’
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.3.13/lib/mysql2.rb
:8:in `’
from C:/Ruby200-x64/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:1
10:in `require’
from C:/Ruby200-x64/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:1
10:in `rescue in require’
from C:/Ruby200-x64/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:3
5:in `require’
from download.rb:6:in `’
到Mysql的安裝目錄,把libmysql.dll和libmysql.lib都拷貝到了Ruby的bin目錄下,再運行(程序裡用到了ActiveRecord),這次出了SegmentFault錯誤。。。。
網上查了查,應該是這個問題導致的。按照這篇文章的內容,依次如下處理。
另外,出現segment fault的根本原因應該是默認的libmysql.lib和mingw64-gcc不兼容導致的。
> gem uninstall mysql2
Successfully uninstalled mysql2-0.3.13
主要是gendef.exe,這個應用從https://structure-svm-map.googlecode.com/files/svm-map-win.zip下載
下載後從下面的文件夾找到這個文件,拷貝到devkit/mingw/bin下,我之所以考到這裡,是因為dlltool.exe也在這裡,都放到path裡方便。
然後運行:
gendef.exe libmysql.dll
這條命令會生成libmysql.def文件。
生成這個libmysql.def文件之後,就可以生成新的lib了。
dlltool -v –dllname libmysql.dll –def libmysql.def –output-lib libmysql.lib
gem install mysql2 — ‘–with-mysql-lib=”C:\Program Files\MySQL\MySQL Server 5.6\lib” –with-mysql-include=”C:\Program Files\MySQL\MySQL Server 5.6\include”‘
再次運行程序,OK。