mmm*_*mmm 3 ruby mysql-connector
我正在尝试在Windows Server 2003上安装Redmine 2.1.4.为了工作,我需要安装activerecord-mysql-adaptergem,而这似乎依赖于它mysql-2.9.0.gem.我从rubygems下载后者并执行:
gem install mysql-2.9.0.gem
Run Code Online (Sandbox Code Playgroud)
它给出了以下输出:
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
Run Code Online (Sandbox Code Playgroud)
我猜,有一种可能性是我缺少MySQL C Connector库.我已经下载都mysql-connector-c-6.0.2-win32.msi和mysql-connector-c-6.0.2-win32-vs2005.msi从http://dev.mysql.com/downloads/connector/c/,但都安装与退出:

我也试过复制C:\Program Files\MySQL\MySQL Server 5.1\lib\debug\libmysql.dll到C:\Ruby193\bin,但它也没有解决mysql-2.9.0.gem的安装问题.
我还能尝试什么?
编辑
从我想到的日志中,Ruby正在寻找下的文件,惊喜,惊喜,$ RUBY_HOME\lib,而不是$ RUBY_HOME\bin,正如问题中提到的一些来源中所找到的那样.所以将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"
Run Code Online (Sandbox Code Playgroud)
这也不会起作用(可能是因为路径中的空格).
ch4*_*d4n 10
尝试从http://dev.mysql.com/downloads/connector/c/没有安装程序版本的连接器,并提取根文件夹中的内容或没有任何空间的文件夹路径,然后尝试安装mysql gem
例
gem install mysql --platform=ruby -- --with-mysql-dir=C:/mysql-connector-c-noinstall-6.0.2-win32
Run Code Online (Sandbox Code Playgroud)