【问题标题】:Rails/Ruby Error When Creating Database: Unable to load the EventMachine C extension创建数据库时出现 Rails/Ruby 错误:无法加载 EventMachine C 扩展
【发布时间】:2012-12-17 12:39:36
【问题描述】:

更新:

eventmachine gem 已安装并在我的 gemfile 中:

 eventmachine (1.0.0, 0.12.10)

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

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

返回以下错误:

无法加载 EventMachine C 扩展;使用纯红宝石 反应堆,要求 'em/pure_ruby' 耙子中止!无法加载此类文件—— 红宝石事件机 /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 级)在 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:in require' /Users/Fitz/Desktop/twilio_insanity/config/application.rb:7:in' /Users/Fitz/Desktop/twilio_insanity/Rakefile:5:in 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 运行任务查看完整跟踪)

```

【问题讨论】:

  • 您是否安装了所需的 gem?在您的项目文件夹中运行gem list 以查看您是否有所需的gem。尝试安装 gems gem install eventmachine
  • 是的...更新了我的问题以反映这一点。还有其他想法吗?
  • This comment in another thread 似乎对您的问题很有希望。你能确保你的 Gemfile 中有“gem eventmachine”或类似的东西,并且可以成功捆绑吗?
  • 基本上就是这样......单独版本的 ruby​​ 让我安装的 gem 感到困惑。谢谢!

标签: ruby-on-rails ruby rubygems gem eventmachine


【解决方案1】:

尝试重新安装 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

【讨论】:

    【解决方案2】:

    有人在 cmets 中回答...见下文。

    基本上,虽然我有不同版本的 Ruby,但由于某些 gem 只安装在某些版本的 ruby​​ 上,这让我感到困惑。

    修复完全卸载 ruby​​ 和 rails,然后重新安装。修好了!

    这有帮助:

    This comment 在另一个线程中似乎对您的问题很有希望。你能确保你的 Gemfile 中有“gem eventmachine”或类似的东西,并且可以成功捆绑吗? – 斯科特赫尔姆 1 月 6 日 6:24

    【讨论】:

    • 虽然重新安装似乎是一个疯狂的想法,但在我的情况下,我安装了一个带有 rvm 的 ruby​​ 版本和另一个带有 brew 的版本。所以这实际上有效
    • 我通过简单地卸载 eventmachine,然后重新安装解决了这个问题。
    【解决方案3】:

    在将 ruby​​ 从 1.9.3 升级到 2.4 后,我在 Windows 上遇到了同样的错误。 我尝试了所有找到的修复方法,但最终唯一有帮助的是(不是那么明显,因此很难找到)重新安装新的 Ruby 再次 32 位而不是 64 位

    我还安装了 Eventmachine

    gem install eventmachine --platform=ruby
    

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

    【讨论】:

      【解决方案4】:

      我在 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

      【讨论】:

        【解决方案5】:

        如果这些解决方案中的任何一个都不起作用,请尝试使用在 OS X 上对我有用的方法从源重新安装 eventmachine gem:https://stackoverflow.com/a/20950026/83055

        【讨论】:

          【解决方案6】:

          只需尝试以下操作:

          apt-get install libssl0.9.8
          

          它修复了 Ubuntu 12.4 上的错误

          【讨论】:

            【解决方案7】:

            确保在 Gemfile 中捆绑 eventmachine

            gem "eventmachine"
            

            然后bundle installThis comment 似乎与您有关。

            【讨论】:

              猜你喜欢
              • 2013-01-27
              • 1970-01-01
              • 1970-01-01
              • 2017-10-08
              • 1970-01-01
              • 1970-01-01
              • 2016-02-08
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多