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?
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:
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_VERSIONin config/environment.rb to see what version of Rails you are using.