在 Rails 上使用 Ruby 加载 libmysql.dll 文件失败 3
Failed to load libmysql.dll file using Ruby on Rails 3
我正在使用 mysql.I 使用 RoR 制作一个应用程序,按照以下步骤使用 mysql 制作应用程序。
1-rails 新建项目名 -d mysql
2-rails生成脚手架Posttitle:stringbody:text
在第 2 步 运行 之后,我得到了以下错误。
错误:
Failed to load libmysql.dll from C:\Ruby193\lib\ruby\gems.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 version-3.2.19 和 win-xp。
经过一些 "Google Work" 并在 Win2k3 服务器上尝试,"binary version of mysql2" 似乎是一个问题案例。
在最近的mysql2版本中,包含了libmysql.dll,不像以前需要在本地编译,而libmysql.dll的版本来自MySQL Connector 6.1.x 删除了 WinXp/2k3 的支持。
所以,你可以试试这个方法,我的 Redmine 安装成功了:
- 通过
gem uninstall mysql2
卸载您的 mysql2 gem 并删除所有 mysql2 软件包
- 从MySQL下载一个"MySQL Connector/C NoInstall",哪个版本应该低于6.1,在我的例子中是6.0.2(mysql-connector-c-noinstall-6.0.2-win32.zip),然后解压到一个路径,比如"D:\MySQLConn"
- 通过此命令安装 mysql2:
gem install mysql2 --platform=ruby -- '--with-mysql-lib="D:\MySQLConn\lib" --with-mysql-include="D:\MySQLConn\include"'
- 运行 Redmine 的安装`bundle install --without development test'
- 勾选mysql2gem
gem list mysql2
- 删除 gem 而不是 "self-compiled"(通过步骤 3),如名称 "mysql2-0.3.18-x86-mingw32" 并确保只有 "self-compiled" 版本的 mysql2 , 看起来像 "mysql2-0.3.18"
- 完成!
希望对你有所帮助
我发现 libmysql.dll 有 32 位和 64 位版本。试试他们两个。对我来说 32 位 libmysql.dll 有效。
这发生在我升级到 mysql2 0.4.7+ 后。 0.4.6 之后的版本使用 MySQL Connector C 6.1.10+。 release notes mention that in order to compile MySQL Connector C, you will need Visual C++ Redistributable for Visual Studio 2015装好了。安装并重新安装 mysql2 后,错误消失了。
我正在使用 mysql.I 使用 RoR 制作一个应用程序,按照以下步骤使用 mysql 制作应用程序。
1-rails 新建项目名 -d mysql
2-rails生成脚手架Posttitle:stringbody:text
在第 2 步 运行 之后,我得到了以下错误。
错误:
Failed to load libmysql.dll from C:\Ruby193\lib\ruby\gems.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 version-3.2.19 和 win-xp。
经过一些 "Google Work" 并在 Win2k3 服务器上尝试,"binary version of mysql2" 似乎是一个问题案例。
在最近的mysql2版本中,包含了libmysql.dll,不像以前需要在本地编译,而libmysql.dll的版本来自MySQL Connector 6.1.x 删除了 WinXp/2k3 的支持。
所以,你可以试试这个方法,我的 Redmine 安装成功了:
- 通过
gem uninstall mysql2
卸载您的 mysql2 gem 并删除所有 mysql2 软件包 - 从MySQL下载一个"MySQL Connector/C NoInstall",哪个版本应该低于6.1,在我的例子中是6.0.2(mysql-connector-c-noinstall-6.0.2-win32.zip),然后解压到一个路径,比如"D:\MySQLConn"
- 通过此命令安装 mysql2:
gem install mysql2 --platform=ruby -- '--with-mysql-lib="D:\MySQLConn\lib" --with-mysql-include="D:\MySQLConn\include"'
- 运行 Redmine 的安装`bundle install --without development test'
- 勾选mysql2gem
gem list mysql2
- 删除 gem 而不是 "self-compiled"(通过步骤 3),如名称 "mysql2-0.3.18-x86-mingw32" 并确保只有 "self-compiled" 版本的 mysql2 , 看起来像 "mysql2-0.3.18"
- 完成!
希望对你有所帮助
我发现 libmysql.dll 有 32 位和 64 位版本。试试他们两个。对我来说 32 位 libmysql.dll 有效。
这发生在我升级到 mysql2 0.4.7+ 后。 0.4.6 之后的版本使用 MySQL Connector C 6.1.10+。 release notes mention that in order to compile MySQL Connector C, you will need Visual C++ Redistributable for Visual Studio 2015装好了。安装并重新安装 mysql2 后,错误消失了。