无法使用Ruby on Rails 3加载libmysql.dll文件

时间:2015-03-31 12:09:46

标签: mysql ruby ruby-on-rails-3 dll

我正在使用带有mysql的RoR制作一个应用程序。我按照以下步骤使用mysql制作应用程序。

1-rails new projectname -d mysql

2-rails生成脚手架帖子标题:string body:text

运行第二步后,我收到以下错误。

错误:

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并将libmysql.dll文件从mysql-connector-c-noinstall-6.0.2-win32 \ lib \ libmysql.dll复制到C:\ Ruby193 \ bin仍然我得到了以上内容error.Please尝试帮我解决这个错误,我也有兴趣知道我的mysql数据库是否存在于其他实例而不是我的本地系统中如何使用Rails连接它。

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

3 个答案:

答案 0 :(得分:10)

经过一些" Google Work"并尝试使用Win2k3服务器,这似乎是一个问题,通过"二进制版本的mysql2"。

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

所以,你可以尝试这种方式在我的Redmine安装中取得成功:

  1. 通过gem uninstall mysql2卸载mysql2 gem并删除所有mysql2包
  2. 下载一个" MySQL Connector / C NoInstall"来自MySQL的版本应该低于6.1,在我的例子中是6.0.2(mysql-connector-c-noinstall-6.0.2-win32.zip),然后解压缩到一个路径,比如" D:\ MySQLConn& #34;
  3. 通过此命令安装mysql2:gem install mysql2 --platform=ruby -- '--with-mysql-lib="D:\MySQLConn\lib" --with-mysql-include="D:\MySQLConn\include"'
  4. 运行Redmine安装`bundle install - without development test'
  5. 检查mysql2 gem gem list mysql2
  6. 删除不是"自编"(第3步)的宝石,如名称" mysql2-0.3.18-x86-mingw32"并确保只有一个"自编的" mysql2的版本,看起来像" mysql2-0.3.18"
  7. 完成!
  8. 我希望它对你有所帮助。

答案 1 :(得分:3)

我发现libmysql.dll有32位和64位变体。试试他们两个。对我来说32bit libmysql.dll工作。

答案 2 :(得分:2)

我升级到mysql2 0.4.7+后发生了这种情况。 0.4.6之后的版本使用MySQL Connector C 6.1.10+。 release notes提到为了编译MySQL Connector C,您需要安装Visual C++ Redistributable for Visual Studio 2015。安装并重新安装mysql2后,错误就消失了。