2015-03-31 84 views
6

我正在制作一个使用RoR和mysql.I的应用程序,按照以下步骤使用mysql制作应用程序。无法使用Ruby on Rails加载libmysql.dll文件3

1 - 轨道的新项目名称-d mysql的

2导轨产生支架岗位名称:绳体:文字

运行第2步后,我得到了下面的错误。

错误:

Failed to load libmysql.dll from C:\Ruby193\lib\ruby\gems\1.9.1\gems\mysql2-0.3. 
18-x86-mingw32\vendor\libmysql.dll 

我已经在我的系统安装了MySQL和从MySQL连接器-C-noinstall-6.0.2-Win32的复制libmysql.dll的文件\ LIB \ libmysql.dll拷贝到C: \ Ruby193 \ bin仍然我正在得到上面的错误。请尝试帮我解决这个错误,我也有兴趣知道如果我的MySQL数据库存在于其他一些实例,而不是我的本地系统如何使用Rails连接它。

我在我的系统中使用Rails version-3.2.19和win-xp。

回答

10

经过一些“谷歌工作”,并尝试在Win2k3服务器,这似乎是“二进制版本的mysql2”的问题情况。

在最新版本的mysql2中,它包含libmysql.dll,它不像之前需要在本地进行编译,而libmysql.dll的版本来自MySQL Connector 6.1.x,它删除了WinXp/2k3的支持。

所以,你可以试试这个方式,我有我的管理平台安装成功:

  1. 通过gem uninstall mysql2卸载您mysql2宝石,并删除所有mysql2包
  2. 从MySQL下载“MySQL连接/ C NoInstall”哪个版本应该低于6.1,在我的情况下是6.0.2(mysql-connector-c-noinstall-6.0.2-win32.zip),然后解压缩到路径,例如“D:\ MySQLConn”
  3. 安装mysql2通过此命令:gem install mysql2 --platform=ruby -- '--with-mysql-lib="D:\MySQLConn\lib" --with-mysql-include="D:\MySQLConn\include"'
  4. 运行Redmine的安装`捆绑安装--without开发测试”
  5. 检查mysql2宝石gem list mysql2
  6. 删除不是‘自编’(由第3步)的宝石,如姓名‘mysql2-0.3.18 86的mingw32’,并确定只有一个“自编译”版本的mysql2,看起来像“mysql2-0.3.18”
  7. 完成!

我希望它对你有帮助。

+0

谢谢Luuray,我也设置了redmine。但在x64。你的步骤真的帮助:) – arced 2017-07-28 16:23:44

+0

任何人在Windows中安装redmine时遇到问题。如果你偶然发现“rake db:migrate”。你必须卸载“mysql2-0.3。18-x86-mingw32“版本与”gem卸载mysql2“,然后选择数字2(对我来说)。 – arced 2017-07-30 05:56:09

3

我发现有libmysql.dll的32位和64位变体。给他们两个一个尝试。对于我32位libmysql.dll工作。