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

问题描述 投票:6回答:7

更新:

eventmachine gem已安装在我的gemfile中:

 eventmachine (1.0.0, 0.12.10)

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

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

返回以下错误:

无法加载EventMachine C扩展;要使用纯红宝石反应器,需要'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 '/ 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 '/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(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 block in require'/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:在require' /Users/Fitz/Desktop/twilio_insanity/config/application.rb:7:in'/ Users / Fitz / Desktop / twilio_insanity / Rakefile:5:在require' /Users/Fitz/Desktop/twilio_insanity/Rakefile:5:in'/Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/bin/ruby_noexec_wrapper:14:in eval' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/bin/ruby_noexec_wrapper:14:in ' (通过使用--trace运行任务查看完整跟踪)

```

ruby-on-rails ruby rubygems gem eventmachine
7个回答
11
投票

尝试重新安装gem'ventmachine'

$ 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


4
投票

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

基本上虽然我有单独的Ruby版本,但是因为某些宝石只安装在某些版本的ruby上而变得混乱。

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

这有助于:

This comment在另一个主题中似乎很有希望解决你的问题。你能确保你的Gemfile中有“gem eventmachine”或类似的东西,并且可以成功捆绑吗? - Scott Helm 1月6日6:24


2
投票

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

我还安装了Eventmachine

gem install eventmachine --platform=ruby

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


1
投票

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

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

0
投票

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


0
投票

试试以下内容:

apt-get install libssl0.9.8

它修复了Ubuntu 12.4上的错误


-2
投票

确保在Gemfile中捆绑了eventmachine

gem "eventmachine"

然后bundle installThis comment似乎与你相关。

© www.soinside.com 2019 - 2024. All rights reserved.