2016-02-08 103 views
0

我已经看到somedifferentanswers,但这些都不帮我...无法加载mysql2宝石

这是招:我有解决这个没有接触的Gemfile。我目前正在创建我的工作环境,以便它与生产服务器相匹配,所以我根本无法修改rails的代码。

我的操作系统:OSX 10.11

红宝石:红宝石2.0.0p643

的Rails:4.0.0

创业板的Gemfile中为gem 'mysql2'。做bundle install时,有没有错误,但是当我尝试rake db:migrate --trace这是输出:

rake aborted! 
There was an error while trying to load the gem 'mysql2'. 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.11.2/lib/bundler/runtime.rb:80:in `rescue in block (2 levels) in require' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.11.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `each' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `block in require' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `each' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `require' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.11.2/lib/bundler.rb:99:in `require' 
/Users/redar/redar/config/application.rb:7:in `<top (required)>' 
/Users/redar/redar/Rakefile:4:in `require' 
/Users/redar/redar/Rakefile:4:in `<top (required)>' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load_rakefile' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/rake-10.1.0/lib/rake/application.rb:637:in `raw_load_rakefile' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/rake-10.1.0/lib/rake/application.rb:94:in `block in load_rakefile' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/rake-10.1.0/lib/rake/application.rb:93:in `load_rakefile' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/rake-10.1.0/lib/rake/application.rb:77:in `block in run' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/rake-10.1.0/lib/rake/application.rb:75:in `run' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/gems/rake-10.1.0/bin/rake:33:in `<top (required)>' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/bin/rake:23:in `load' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/bin/rake:23:in `<main>' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/bin/ruby_executable_hooks:15:in `eval' 
/Users/redar/.rvm/gems/ruby-2.0.0-p643/bin/ruby_executable_hooks:15:in `<main>' 

我不知道如何解释这一点。 Rakefile有什么问题吗?

而且,这是output from the mkmf.log


编辑:这是我的Rake文件的内容,位于MYAPP /文件夹

# Add your own tasks in files placed in lib/tasks ending in .rake, 
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. 

require File.expand_path('../config/application', __FILE__) 

MyApp::Application.load_tasks 
+0

我假设你已经在你的系统中安装了mysql,对吧? (brew安装mysql) – TopperH

+0

是的,没错。 –

+0

看看这个问题:https://github.com/rails/rails/issues/21544,你可能想在你的gemfile中尝试“gem'mysql2','〜> 0.3.18'” – TopperH

回答

0

尝试

bundle exec rake db:migrate 

这将确保您正在执行“rake db:m igrate“,Gemfile中列出的宝石已加载并可用。如果您在没有“bundle exec”的情况下运行它,那么您可能只能使用可用的系统宝石执行。

+0

我试过了,但输出仍然是一样的。 –