0

我使用 NetBean 6.8 创建了一个 Ruby-on-Rails 项目,该项目在端口 3000 上按预期运行。

我在 NetBeans IDE 中创建了第二个 RoR 项目来试验一些想法;它在端口 3010 上运行。不幸的是,网络服务器无法启动。它返回以下内容:

/Library/Ruby/Site/1.8/rubygems.rb:827:in `report_activate_error': RubyGem version error: rack(1.0.0 not ~> 1.0.1) (Gem::LoadError)
    from /Library/Ruby/Site/1.8/rubygems.rb:261:in `activate'
    from /Library/Ruby/Site/1.8/rubygems.rb:68:in `gem'
    from /Users/craibuc/.gem/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller.rb:34
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
    from /Users/craibuc/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
    from /Users/craibuc/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'
    from /Users/craibuc/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
    from /Users/craibuc/.gem/ruby/1.8/gems/rails-2.3.5/lib/commands/server.rb:2
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
    from script/server:3

如果我也尝试在 Ruby 提示符下启动应用程序,则会出现此行为。

环境:OSX、NetBeans 6.8、Ruby 1.8.7、Rails 2.3.5、Mongrel 1.1.5、MySQL 5.1.42

我假设一个人可以运行多个 RoR 应用程序,尽管在不同的端口上。我对么?如果是这样,我错过了什么?

顺便说一句,将在 Ruby 提示符下创建的现有 RoR 应用程序添加到 NetBeans IDE 的过程是什么?

4

1 回答 1

2

错误是说您没有安装所需的 rack gem 版本 - 您有 1.0.0 版本,但 Rails 2.3.5 需要 1.0.1 版本。您可以通过运行安装 1.0.1 版:

gem install rack --version 1.0.1

在不同的端口上运行多个 Rails 应用程序没有问题。您在端口 3000 上的应用程序正在运行,因为它可能使用的是早期版本的 Rails。2.3.4 版本依赖于 Rack 1.0.0 版本。检查RAILS_GEM_VERSIONconfig/environment.rb 中的值以查看您使用的 Rails 版本。

于 2010-01-31T23:20:25.197 回答