我使用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的过程是什么?
答案 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版本。