Ruby on rails $rake db:创建rake中止!无法加载这样的文件--mysql2

Ruby on rails $rake db:创建rake中止!无法加载这样的文件--mysql2,ruby-on-rails,Ruby On Rails,在将工作应用程序从sqlite切换到postgres之后,我正在rails应用程序上使用postgres。当我运行rake时,我得到一个错误:无法加载这样的文件——mysql2。我从未在这个应用程序中使用过mysql。有什么想法吗 编辑: 我的gemfile不包括mysql,数据库适配器是postgresql 这是堆栈跟踪: c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/thinking-sphinx-3.0.1/lib/thinkin

在将工作应用程序从sqlite切换到postgres之后,我正在rails应用程序上使用postgres。当我运行rake时,我得到一个错误:无法加载这样的文件——mysql2。我从未在这个应用程序中使用过mysql。有什么想法吗

编辑:

我的gemfile不包括mysql,数据库适配器是postgresql

这是堆栈跟踪:

c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/thinking-sphinx-3.0.1/lib/thinking_sphinx.rb:5:in `require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/thinking-sphinx-3.0.1/lib/thinking_sphinx.rb:5:in `<top (required)>'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/thinking-sphinx-3.0.1/lib/thinking-sphinx.rb:1:in `require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/thinking-sphinx-3.0.1/lib/thinking-sphinx.rb:1:in `<top (required)>'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:68:in `require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:66:in `each'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:66:in `block in require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:55:in `each'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:55:in `require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler.rb:122:in `require'
C:/Users/Rotimi/My Documents/Aptana Studio 3 Workspace/Book_Search/book_search/config/application.rb:13:in `<top (required)>'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
C:/Users/Rotimi/My Documents/Aptana Studio 3 Workspace/Book_Search/book_search/Rakefile:5:in `<top (required)>'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/rake_module.rb:25:in `load'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/rake_module.rb:25:in `load_rakefile'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:583:in `raw_load_rakefile'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:89:in `block in load_rakefile'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:88:in `load_rakefile'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:72:in `block in run'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:70:in `run'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/bin/rake:33:in `<top (required)>'
c:/RailsInstaller/Ruby1.9.3/bin/rake:19:in `load'
c:/RailsInstaller/Ruby1.9.3/bin/rake:19:in `<main>'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/thinking-sphinx-3.0.1/lib/thinking\u sphinx.rb:5:in'require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/thinking-sphinx-3.0.1/lib/thinking\u sphinx.rb:5:in`'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/thinking-sphinx-3.0.1/lib/thinking-sphinx.rb:1:in'require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/thinking-sphinx-3.0.1/lib/thinking-sphinx.rb:1:in`'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:68:in'require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:68:require中的“块(2级)”中
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:66:in'each'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:66:in'block in require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:55:in'each'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler/runtime.rb:55:in'require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22/lib/bundler.rb:122:in'require'
C:/Users/Rotimi/My Documents/Aptana Studio 3 Workspace/Book\u Search/Book\u Search/config/application.rb:13:in`'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'require'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'require'
C:/Users/Rotimi/My Documents/Aptana Studio 3工作区/Book\u Search/Book\u Search/Rakefile:5:in`'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/rake_模块。rb:25:in'load'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/rake_模块。rb:25:in'load_rakefile'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:583:in'raw\u load\u rakefile'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:89:in'block in load_rakefile'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:在“标准异常处理”中
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:88:in'load_rakefile'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:72:in'block in run'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:在“标准异常处理”中
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:70:in'run'
c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.0.3/bin/rake:33:in`'
c:/RailsInstaller/Ruby1.9.3/bin/rake:19:in'load'
c:/RailsInstaller/Ruby1.9.3/bin/rake:19:in`'

从文件中删除mysql2。尝试获取完整的堆栈跟踪,以便查看谁需要mysql2。在这里张贴堆栈跟踪。在database.yml中指定postgres作为适配器。

如果您使用bundler或environments,请从gem文件中删除gem mysql2。rb

我认为您的问题在于thinking sphinx。我假设您已经使用以下选项构建了它:

./configure--prefix=/usr/local--with pgsql--with mysql

另外,请注意mysql2是思考sphinx的必要条件。请看这里:

特别是在安装过程中:

这是一个宝石,所以安装它就像安装其他宝石一样。你也会 还需要指定Mysql2 gem(这不是内置的 依赖性,因为JRuby在得到支持时需要一些东西 (不同):

gem'mysql2','0.3.12b4'gem'思维斯芬克斯','3.0.0'的 连接到Sphinx需要mysql2 gem,因此请包括它 即使在数据库中使用PostgreSQL


记住在“飞行狮身人面像”和“思考狮身人面像”之前加入gem“mysql2”

如果需要mysql2,那么这很有意义!谢谢我正在查找mysqllib.dll并复制到ruby文件夹,以便在connector C下载中安装mysql2.find libmysql。将libmysql放在ruby/bin中,它就可以工作了!