我正在尝试在Windows 7上安装mysql2 gem我从mysql站点下载了连接器并将libmysql.dll放在ruby200\bin中
然后做gem安装mysql2
这些是我昏暗的结果吗?
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:/Ruby200/bin/ruby.exe extconf.rb
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
*** 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:/Ruby200/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}/
extconf.rb:37:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError
)
Gem files will remain installed in C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.
3.13 for inspection.
Results logged to C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.13/ext/mysql2/g
em_make.out
Run Code Online (Sandbox Code Playgroud)
Mrk*_*dig 104
编辑30/09/2014
当这个答案发布时,64位rails安装程序不是推荐版本 - 现在看来人们开始更多地使用它了.应该注意,当您下载MySQL Connector时,您需要下载64位或32位以对应您安装的rails版本.
令人惊讶的是,由于我正好寻找其他类似性质的东西,我很幸运地在今天早上得到答案.我不太清楚为什么没有一个简单的指南,因为它看起来非常直接!
出于某种原因,在安装gem时仅指定mysql-dir不会选择其他子目录,因此您需要手动设置参数.
对于遇到同样问题的其他人,我做了以下事情:
1)从http://dev.mysql.com/downloads/connector/c/下载MySql C连接器
注意请勿下载安装程序,下载适用于您的操作系统的ARCHIVE
下载32位或64位ARCHIVE以与您安装的rails版本相对应.
2)将文件解压缩到C:\ mysql-connector
3)然后跑:
gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:\mysql-connector\lib" --with-mysql-include="C:\mysql-connector\include" --with-mysql-dir="C:\mysql-connector"'
Run Code Online (Sandbox Code Playgroud)
Voila一切正常.
编辑30/01/2014
我只需要在一台砖砌机器上进行全新安装,并且步骤3中的命令不起作用,工作原理是:
gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:\mysql-connector"'
Run Code Online (Sandbox Code Playgroud)
我不太确定区别是什么,但这次它似乎正好拿起目录,所以如果第一个没有用,试试这个吧!
我认为这与你如何安装rails有关,这次我使用了railsinstaller,它似乎正确地设置了路径.
这里的很多结果似乎取决于你使用的shell,很多人都遇到了PowerShell的问题所以我不建议使用它.我是在提升的命令提示符下完成的.
哦,最后如果你在执行RAILS S时遇到关于mysql2 gem的错误,你需要将libmysql.dll从mysql连接器的LIB目录复制到已安装rails的bin目录.
我已经尝试过@Mrk Fldig的解决方案,但它没有用......所以解决问题的是:
gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:/Program Files/MySQL/MySQL Connector C 6.1 6.1.2/"'
需要注意的一个缺陷是我将反斜杠(\)更改为普通斜杠(/).我用反斜杠尝试了相同的程序,但它没有用.
安装程序已在MySQL Connector C 6.1 6.1.2
目录中包含MySQL的C连接器.因此,只透过--with-mysql-dir
参数没有--with-mysql-lib
或--with-mysql-include
参数,使得创业板看的同一目录lib
和include
目录
小智 6
适用于Ruby 2.1.3,Windows 8.1和MySQL Server 5.7的步骤.所有x64位.
ruby dk.rb init
ruby dk.rb install
gem install mysql2 -- '--with-mysql-lib="c:\Program Files\MySQL\MySQL Server 5.7\lib" --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.7\include" --with-mysql-dir="c:\Program Files\MySQL\MySQL Server 5.7"'
归档时间: |
|
查看次数: |
43600 次 |
最近记录: |