我在Windows机器上安装mysql2 gem时遇到问题,通常可以正常工作,但是现在我搜索到Failed to build native extension.了,但是有很多Linux修复程序。我知道在带红宝石的窗户上工作不是最好的选择。回到问题,我使用gem install mysql2 -- --with-mysql-dir=C:\wamp\bin\mysql\mysql5.6.12\bin --with-mysql-lib=C:\wamp\bin\mysql\mysql5.6.12\lib安装mysql2,它与mysql兼容,但是rails需要mysql2。

谢谢。

最佳答案

mysql2可能很难安装。我们只需要使用Ruby 2.0.0p247,Windows 64bit和mysql 0.3.13的开发箱即可。这里有一些建议:


确保已安装最新的DevKit(http://rubyinstaller.org/downloads/)。在页面的右列,它告诉您特定版本的Ruby需要哪个版本的DevKit。我们发现将其安装到C:\ DevKit最简单
现在,尝试运行您在问题中列出的gem install mysql2 ...命令。另外,对于32位安装,我们执行以下操作:


替代X:“ C:\ Program Files(x86)\ MySQL \ MySQL Server 5.6”
gem install mysql2 -v = 0.3.13 --platform = ruby​​---with-mysql-include = X:\ include --with-mysql-lib = X:\ lib
X:/ d


subst命令创建一个虚拟驱动器,并帮助使用路径名中的空格。


将C:\ Program Files(x86)\ MySQL \ MySQL Server 5.6 \ lib \ libmysql.dll复制到Ruby bin目录。如果使用32位,则应该关闭并运行。


但是,一旦64位用户安装了mysql2,就可能会遇到另一个错误。上面的步骤似乎有效,但是当他们实际使用mysql2 gem做一些有用的事情时,例如运行rake db:create,他们会遇到分段错误。可以在https://github.com/brianmario/mysql2/issues/372https://bugs.ruby-lang.org/issues/8591https://groups.google.com/forum/#!topic/rubyinstaller/uTNffOt6Yqo中找到有关此问题的更多信息和修复程序。

长话短说,需要使用兼容的mysql连接器c代替MySQL服务器目录。有帮助的用户提供了正确的连接器c,可以在此处下载(https://www.copy.com/s/CHZ4eT4us6f1/mysql-connector-c-noinstall-6.0.2-winx64.zip)。解压缩该zip文件,然后将gem install mysql2 ...命令指向相应的目录,然后将出现64bit的幸福状态。 (不要忘记从下载的连接器c文件夹中获取libmysql.dll并将其放置在您的ruby bin目录中)。

关于mysql - ruby mysql2 gem安装错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18102523/

10-15 12:22