创建数据库时出现Rails / Ruby错误:无法加载EventMachine C扩展

更新:

eventmachine gem已安装在我的gemfile中:

eventmachine (1.0.0, 0.12.10) 

请帮忙! 尝试使用以下内容创建数据库:

 Fitzs-MacBook-Pro:twilio_insanity Fitz$ rake db:create' 

返回以下错误:

无法加载EventMachine C扩展; 要使用纯ruby反应器,需要’em / pure_ruby’耙子中止! 无法加载此类文件 – ruby​​eventmachine /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/eventmachine-1.0.0/lib/eventmachine.rb:8:in require' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/eventmachine-1.0.0/lib/eventmachine.rb:8:in /.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/eventmachine-1.0.0/lib/eventmachine.rb:8:in’/Users/Fitz/.rvm/gems/ruby-1.9.3- p327@rails3tutorial2ndEd/gems/thin-1.5.0/lib/thin.rb:7:in require' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/thin-1.5.0/lib/thin.rb:7:in /lib/thin.rb:7:in’/Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in require' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in block require' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in (2级)in require’/ Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in each' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in在require’/Users/Fitz/.rvm/gems/ruby-1.9.3-p327 each' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in块中@ global / gems / bundler-1.2.3 / lib / bundler / runtime.rb:55:在each' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in each' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in require’/Users/Fitz/.rvm/gems/ruby- 1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler.rb:128:in require' /Users/Fitz/Desktop/twilio_insanity/config/application.rb:7:in ‘/Users/Fitz/ require' /Users/Fitz/Desktop/twilio_insanity/config/application.rb:7:in / require' /Users/Fitz/Desktop/twilio_insanity/config/application.rb:7:in / require' /Users/Fitz/Desktop/twilio_insanity/config/application.rb:7:in /application.rb:7:in’/ Users / Fitz / Desktop / twilio_insanity / Rakefile:5:in require' /Users/Fitz/Desktop/twilio_insanity/Rakefile:5:in in’/Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/bin/ruby_noexec_wrapper :14:在eval' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/bin/ruby_noexec_wrapper:14:in :14:in’(通过使用–trace运行任务查看完整跟踪)

“`

尝试重新安装gem’eventmachine’

 $ gem uninstall eventmachine 

然后

 $ bundle install ( in the same folder with your Gemfile) 

要不就

 $ gem install eventmachine ( if you are not using the Gemfile) 

请参阅: https : //stackoverflow.com/a/15140634/445908

有人在评论中回答……见下文。

基本上虽然我有单独的Ruby版本,但由于某些gem仅安装在某些版本的ruby上,所以它变得令人困惑。

修复完全卸载ruby和rails,然后重新安装。 固定它!

这有助于:

另一个post中的评论似乎对您的问题很有希望。 你能确保你的Gemfile中有“gem eventmachine”或类似内容,并且可以成功捆绑吗? – Scott Helm 1月6日6:24

将ruby从1.9.3升级到2.4后,我在Windows上遇到了同样的错误。 我尝试了我发现的每一个修复程序,但最后唯一有帮助的是(不是很明显,因此很难找到) 用32位而不是64位 重新安装新的Ruby

我还安装了Eventmachine

 gem install eventmachine --platform=ruby 

强制本机编译,因为我总是遇到msgpack的问题,可以像这样解决(没有尝试使用默认的x86-mingw32

试试以下内容:

apt-get install libssl0.9.8

它修复了Ubuntu 12.4上的错误

如果任何此解决方案不起作用,请尝试使用在OS X上为我工作的方法从源重新安装eventmachine gem: https ://stackoverflow.com/a/20950026/83055

我在Windows 10上C:\Ruby25-x64\lib\ruby\gems>bundle install显示Could not locate Gemfile错误(但是,我正在安装bundle gem并出现在\ gems位置)。 以下工作让我解决无法加载EventMachine C扩展错误:

  1. gem uninstall eventmachine
  2. gem install eventmachine --platform ruby

确保在Gemfile中捆绑了eventmachine

 gem "eventmachine" 

然后bundle install 。 这条评论似乎与您相关。