【问题标题】:Failed to load libmysql.dll file using Ruby on Rails 3使用 Ruby on Rails 3 加载 libmysql.dll 文件失败
【发布时间】:2015-03-31 12:09:45
【问题描述】:

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

1-rails 新项目名 -d mysql

2-rails 生成脚手架 Post title: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 我仍然得到上述错误。请尝试帮助我解决此错误,我也很想知道我的 mysql DB 是否存在于其他实例中而不是我的本地系统中,如何使用 Rails 连接它。

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

【问题讨论】:

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


    【解决方案1】:

    经过一些“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 下载一个“MySQL Connector/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 的 install `bundle install --without development test'
    5. 检查mysql2 gem gem list mysql2
    6. 删除不是“自编译”的 gem(通过第 3 步),例如名称“mysql2-0.3.18-x86-mingw32”,并确保只有一个“自编译”版本的 mysql2,看起来像“ mysql2-0.3.18"
    7. 完成!

    希望对你有帮助。

    【讨论】:

    • 感谢 Luuray,我也在设置 redmine。但在 x64 中。你的步骤真的很有帮助:)
    • 适用于在 Windows 中设置 redmine 时遇到问题的任何人。如果您偶然发现“rake db:migrate”。您必须使用“gem uninstall mysql2”卸载“mysql2-0.3.18-x86-mingw32”版本,然后选择数字 2(对我来说)。
    【解决方案2】:

    我发现 libmysql.dll 有 32 位和 64 位的变体。试一试他们两个。对我来说,32 位 libmysql.dll 有效。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2015-06-04
        • 1970-01-01
        • 2012-01-07
        • 2012-10-16
        • 2020-11-06
        • 2014-06-03
        • 1970-01-01
        • 1970-01-01
        • 2018-12-31
        相关资源
        最近更新 更多