尝试从RubyMine运行简单的Ruby on Rails应用程序时出现以下错误:
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/mysql2/mysql2.rb:2:in `require': 126: The specified module could not be found.
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/mysql2/1.9/mysql2.so (LoadError)
事实是,那个文件实际上就在那里。此外,我运行'bundle install',将mysql与项目相关联,以及我能找到的其他所有内容。在网上有一些建议,libmysql.dll需要在特定的目录中 - 但没有迹象表明该特定文件。
有谁知道如何解决这个问题?谢谢!
答案 0 :(得分:23)
我通过将libmysql.dll复制到“bin”目录修复了类似的错误。在您的情况下,将libmysql.dll复制到C:\ Ruby192 \ bin
当您安装MySql时会安装libmysql.dll。文件的位置取决于您使用的是WAMP,XAMPP还是仅使用MySql。如果你找不到它在你的计算机上搜索它,那么我假设你已经安装了MySql并且它正在运行。
答案 1 :(得分:4)
谢谢,我能够修复错误。为了解决这个错误,我将“libmySQL.dll”文件从“C:\ Program Files \ MySQL \ MySQL Server 5.1 \ bin”复制到“C:\ Ruby192 \ bin”。有关详情,请参阅帖子 - http://rorguide.blogspot.com/2011/03/getting-error-specified-module-could.html
答案 2 :(得分:1)
我将libmysql.dll
从mysql-connector-c-6.1.5-win32.zip\mysql-connector-c-6.1.5-win32\lib
从此处http://dev.mysql.com/downloads/connector/c/复制到ruby bin目录以使其正常工作
答案 3 :(得分:-1)
如何使用mysql(wamp)在Windows机器上的rails上安装ruby
使用这些命令(source)
解决https证书问题ruby "C:\RailsInstaller\win_fetch_cacerts.rb"
set SSL_CERT_FILE=C:\RailsInstaller\cacert.pem
确保你为i386而不是x64位安装了ruby,同样适用于wamp。
安装定位mysql lib文件的gem
gem install mysql2 -- '--with-mysql-lib="C:\wamp\bin\mysql\mysql5.6.17\lib" --with-mysql-include="C:\wamp\bin\mysql\mysql5.6.17\include"'
现在,在创建应用时,请使用以下命令:
rails new APPNAME -d mysql
当你尝试使用命令rails server来实例化服务器时,它会给你几吨mysql错误,但不要担心还有一个步骤可以解决它:
转到mysql的lib目录:C:\wamp\bin\mysql\mysql5.6.17\lib
复制libmysql.dll
并将其粘贴到您的红宝石的bin文件夹中,就我而言,它是C:\RailsInstaller\Ruby2.1.0\bin
我希望一切顺利。