创建数据库时出现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’耙子中止! 无法加载此类文件 – rubyeventmachine /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:inrequire' /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:inrequire' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in
blockrequire' /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:ineach' /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-p327each' /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:inrequire' /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:inrequire' /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扩展错误:
-
gem uninstall eventmachine
-
gem install eventmachine --platform ruby
确保在Gemfile中捆绑了eventmachine
gem "eventmachine"
然后bundle install
。 这条评论似乎与您相关。