views:

239

answers:

1

I created a Ruby-on-Rails project using NetBean 6.8, which operates as expected on port 3000.

I created a second RoR project in the NetBeans IDE to experiment with some ideas; it operates on port 3010. Unfortunately, the webserver won't start. It returns the following:

/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

This behavior occurs if I attempt to start the application at the Ruby prompt as well.

Environment: OSX, NetBeans 6.8, Ruby 1.8.7, Rails 2.3.5, Mongrel 1.1.5, MySQL 5.1.42

I'm assuming that one can have multiple RoR applications running, albeit on different ports. Am I correct? If so, what am I missing?

Incidentally, what is the process to add an existing RoR application, created at the Ruby prompt, to the NetBeans IDE?

+2  A: 

The error is saying you don't have the required version of the rack gem installed - you have version 1.0.0, but Rails 2.3.5 requires version 1.0.1. You can install version 1.0.1 by running:

gem install rack --version 1.0.1

There is no problem with running multiple Rails applications on different ports. Your application on port 3000 is working because it is probably using an earlier version of Rails. Version 2.3.4 depended on version 1.0.0 of Rack. Check the value of RAILS_GEM_VERSION in config/environment.rb to see what version of Rails you are using.

Phil Ross
That did the trick. Thanks a lot.The one that worked is using RAILS_GEM_VERSION = '2.2.2'The one that DID NOT work is using RAILS_GEM_VERSION = '2.3.5'
Craig