多个Ruby-on-Rails项目的问题

时间:2010-01-31 23:08:45

标签: ruby-on-rails netbeans mongrel

我使用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的过程是什么?

1 个答案:

答案 0 :(得分: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版。检查config / environment.rb中RAILS_GEM_VERSION的值,看看你正在使用的Rails版本。