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

raj*_*474 6 ruby mysql dll ruby-on-rails-3

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

1-rails new projectname -d mysql

2-rails生成脚手架帖子标题:弦体:文字

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

错误:

Failed to load libmysql.dll from C:\Ruby193\lib\ruby\gems\1.9.1\gems\mysql2-0.3.
18-x86-mingw32\vendor\libmysql.dll
Run Code Online (Sandbox Code Playgroud)

我已经在我的系统中安装了mysql并将libmysql.dll文件从mysql-connector-c-noinstall-6.0.2-win32\lib\libmysql.dll复制到C:\ Ruby193\bin仍然我收到了上述错误.请将尝试帮助我解决这个错误,我也有兴趣知道我的mysql数据库是否存在于其他实例而不是我的本地系统如何使用Rails连接它.

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

小智 10

经过一些"谷歌工作"并尝试使用Win2k3服务器,它似乎是"二进制版本的mysql2"的问题.

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

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

  1. 卸载你的mysql2 gem gem uninstall mysql2并删除所有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的安装`bundle install - withoutout development test'
  5. 检查mysql2 gem gem list mysql2
  6. 删除不是"自编"的宝石(步骤3),如名称"mysql2-0.3.18-x86-mingw32",并确保只有"自编"版本的mysql2,看起来像"mysql2-0.3" 0.18"
  7. 完成!

我希望它对你有所帮助.