1

我无法在简单的测试程序中要求 EventMachine。我正在运行 Ruby 1.9.2 (x86_64-darwin10.4.0) 和 Rails 3.0.1。EventMachine 已安装(通过gem install eventmachine)并且 gem 知道它:

宝石列表--本地

*** 当地宝石 ***

摘要 (1.0.0)
...
厄鲁比斯 (2.6.6)
事件机(0.12.10)
i18n (0.4.2)
...
tzinfo (0.3.23)

然而,当我启动 rails 控制台(通过rails console)并且只需要 eventmachine 时,它​​就会爆炸:

ruby-1.9.2-p0 > 需要'rubygems'
 => 无
ruby-1.9.2-p0 > 需要'eventmachine'
LoadError:没有要加载的文件--eventmachine
    来自 /Users/russ/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:239:in 'require'
    来自 /Users/russ/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:239:in 'block in require'
    来自 /Users/russ/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:225:in 'block in load_dependency'
    来自 /Users/russ/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:591:in 'new_constants_in'
    来自 /Users/russ/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:225:in 'load_dependency'
    来自 /Users/russ/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:239:in 'require'
    来自 (irb):2
    来自 /Users/russ/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.1/lib/rails/commands/console.rb:44:in 'start'
    来自 /Users/russ/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.1/lib/rails/commands/console.rb:8:in 'start'
    来自 /Users/russ/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.1/lib/rails/commands.rb:23:in '<top (required)>'
    来自脚本/rails:6:in 'require'
    来自脚本/rails:6:in '<main>'

我尝试在需要 EventMachine 的类中运行方法时得到相同的结果。EventMachine 构建没有错误。我一遍又一遍地卸载了 EventMachine 和 Ruby 以及所有的 gem,但我无法完成这项工作。谁能指出我正确的方向?

-拉斯

4

3 回答 3

7

Rails 3 默认使用 Bundler,这意味着您需要Gemfile像这样指定所有依赖项:

gem "eventmachine"

(安装任何未通过 安装的bundle install)。

Bundler 处理依赖管理,这意味着您可以锁定您的 gem 版本,并很好地避免冲突,但相反,这意味着它不会加载 Gemfile 中未指定的任何内容。

这也意味着如果你想在比 webrick 更好的东西上运行你的开发网络服务器,你可能也想在你的 gemfile 中添加这样的东西

group :development do
  gem 'mongrel'
  gem 'ruby-debug'
end
于 2010-11-12T02:54:52.010 回答
0

您是否尝试将其放入您的 Rails 应用程序的 gemfile 并进行捆绑安装?

于 2010-11-12T02:54:29.990 回答
0

在 windows 中删除 Ruby x64。重新安装 Ruby x86。

观众。 https://github.com/eventmachine/eventmachine/blob/master/ext/extconf.rb#L78-L90

于 2014-01-03T03:26:58.133 回答