0

ポート3000で期待どおりに動作するNetBean6.8を使用してRuby-on-Railsプロジェクトを作成しました。

いくつかのアイデアを試すために、NetBeansIDEで2番目のRoRプロジェクトを作成しました。ポート3010で動作します。残念ながら、Webサーバーは起動しません。次を返します。

/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

エラーは、必要なバージョンのラックgemがインストールされていないことを示しています。バージョン1.0.0がありますが、Rails2.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のバージョンを確認してください。

于 2010-01-31T23:20:25.197 に答える