问题
Update:
the eventmachine gem is installed and in my gemfile:
eventmachine (1.0.0, 0.12.10)
Please help! Trying to create a database with the following:
Fitzs-MacBook-Pro:twilio_insanity Fitz$ rake db:create'
Returns the following error:
Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby' rake aborted! cannot load such file -- 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
' /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
' /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
block (2 levels) 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
block in require' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:ineach' /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/Desktop/twilio_insanity/Rakefile:5:inrequire' /Users/Fitz/Desktop/twilio_insanity/Rakefile:5:in
' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/bin/ruby_noexec_wrapper:14:ineval' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/bin/ruby_noexec_wrapper:14:in
' (See full trace by running task with --trace)
```
回答1:
try to re-install the gem 'eventmachine'
$ gem uninstall eventmachine
then
$ bundle install ( in the same folder with your Gemfile)
or just
$ gem install eventmachine ( if you are not using the Gemfile)
see: https://stackoverflow.com/a/15140634/445908
回答2:
Someone kind of answered in comments...see below.
Basically though I had seperate versions of Ruby, which was getting confusing because some gems were only installed on certain versions of ruby.
Fix was totally uninstalling ruby and rails, then reinstalling. Fixed it!
This helped:
This comment in another thread seems promising for your issue. Can you ensure that you have "gem eventmachine" or similar in your Gemfile, and can successfully bundle? – Scott Helm Jan 6 at 6:24
回答3:
I got the same error on Windows after upgrading ruby from 1.9.3 to 2.4. I tried every fix I found but the only thing that helped in the end was (not that obvious and therefore hard to find) to reinstall the new Ruby again with 32 bit instead of 64.
Also I installed Eventmachine with
gem install eventmachine --platform=ruby
to force native compilation, since I always get problems with msgpack, that can be solved like this (haven't tried it with the default x86-mingw32
)
回答4:
I am on windows 10. C:\Ruby25-x64\lib\ruby\gems>bundle install
showed Could not locate Gemfile
error(though, i am having bundle gem installed and present at \gems location). Following worked for me to resolve Unable to load the EventMachine C extension error:
gem uninstall eventmachine
gem install eventmachine --platform ruby
回答5:
If any of this solutions don't work, try reinstalling eventmachine gem from sources using method that worked for me on OS X: https://stackoverflow.com/a/20950026/83055
回答6:
Just try the following:
apt-get install libssl0.9.8
It fixed the error on Ubuntu 12.4
回答7:
Make sure you bundle eventmachine in your Gemfile
gem "eventmachine"
Then bundle install
. This comment seemed relevant to you.
来源:https://stackoverflow.com/questions/14134033/rails-ruby-error-when-creating-database-unable-to-load-the-eventmachine-c-exten