2012-01-18 14 views
0

私はこのことに少しでも取り組んできましたが、Thinフォーラムを読んで、私が考えることができるすべてを探そうとしました。間違った宝石のバージョンは、私は誰かがこの問題をどのようにデバッグすることができます示唆することを願っていますthin Webサーバーでエラーが発生しました初期化されていない定数ActiveSupport ::依存関係の処理中

私は、このコマンドラインでのシン開始:

thin start -C /root/myapp/config/thin.yml -e production -d --adapter rack 

私はRailsの3.0.3とRuby 1.9.2-P290とAmazonのEC2上の薄いウェブサーバとnginxのを実行していますよ。 nginxのとシン実行罰金が、HTTP要求はnginxのからシンに送信されると、シンは次のエラーを蹴り、nginxのは「502不正なゲートウェイ」をreqports:ここ

!! Unexpected error while processing request: uninitialized constant  ActiveSupport::Dependencies 
uninitialized constant ActiveSupport::Dependencies 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.0.3/lib/action_dispatch/middleware/stack.rb:9:in `initialize' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.0.3/lib/action_dispatch/middleware/stack.rb:67:in `new' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.0.3/lib/action_dispatch/middleware/stack.rb:67:in `use' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.3/lib/rails/application.rb:190:in `block in default_middleware_stack' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.3/lib/rails/application.rb:189:in `tap' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.3/lib/rails/application.rb:189:in `default_middleware_stack' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.3/lib/rails/application.rb:161:in `app' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.3/lib/rails/application.rb:168:in `call' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/thin-1.2.7/lib/thin/connection.rb:76:in `block in pre_process' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/thin-1.2.7/lib/thin/connection.rb:74:in `catch' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/thin-1.2.7/lib/thin/connection.rb:74:in `pre_process' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/thin-1.2.7/lib/thin/connection.rb:57:in `process' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/thin-1.2.7/lib/thin/connection.rb:42:in `receive_data' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/thin-1.2.7/lib/thin/backends/base.rb:57:in `start' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/thin-1.2.7/lib/thin/server.rb:156:in `start' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/thin-1.2.7/lib/thin/controllers/controller.rb:80:in `start' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/thin-1.2.7/lib/thin/runner.rb:177:in `run_command' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/thin-1.2.7/lib/thin/runner.rb:143:in `run!' 
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/thin-1.2.7/bin/thin:6:in `<top (required)>' 
/usr/local/rvm/gems/ruby-1.9.2-p290/bin/thin:19:in `load' 
/usr/local/rvm/gems/ruby-1.9.2-p290/bin/thin:19:in `<main>' 

は私の宝石のリストです:

ここで* LOCAL GEMS *

abstract (1.0.0) 
actionmailer (3.0.3) 
actionpack (3.0.3) 
activemodel (3.0.3) 
activerecord (3.0.3) 
activeresource (3.0.3) 
activesupport (3.0.3) 
arel (2.0.10) 
builder (2.1.2) 
bundler (1.0.10 ruby) 
cgi_multipart_eof_fix (2.5.0) 
daemons (1.0.10) 
erubis (2.6.6) 
eventmachine (0.12.10) 
fastthread (1.0.7) 
gem_plugin (0.2.3) 
i18n (0.6.0) 
mail (2.2.19) 
mime-types (1.17.2) 
mongrel (1.2.0.pre2) 
multi_json (1.0.4) 
mysql2 (0.2.18, 0.2.17) 
polyglot (0.3.3) 
rack (1.2.5, 1.2.4) 
rack-cache (1.0) 
rack-mount (0.6.14) 
rack-test (0.5.7) 
rails (3.0.3) 
railties (3.0.3) 
rake (0.9.2.2) 
redis (2.2.2) 
redis-namespace (1.0.3) 
resque (1.19.0) 
resque-access_worker_from_job (0.3.1) 
rmagick (2.13.1) 
sinatra (1.2.8) 
thin (1.2.7) 
thor (0.14.6) 
tilt (1.3.3) 
treetop (1.4.10) 
tzinfo (0.3.31) 
vegas (0.1.8) 
xmpp4r (0.5) 

私config.ruファイルです:

#!/usr/bin/env ruby 
require 'thin' 
require 'rack' 

require ::File.expand_path('config/environment', File.dirname(__FILE__)) 
run Myapp::Application 

私はまた、運がない薄い1.3.1を使ってみました。私はeventmachine-1.0.0.beta2を試しましたが、バンドルインストールを実行する前にGemfile.lockを削除しても、Gemfileは0.12.10を使いたいと思っています。

ActiveSupport :: Dependenciesに関するエラーは、間違ったライブラリをどこかで使用していることを意味しますが、どのライブラリが間違っているか把握する方法がわかりません。

誰でもこの問題の原因を知っているのですか、それをどのようにデバッグするかについての提案はありますか?

+0

私はいくつかの進歩を遂げました。私は、config.ruに「active_support/dependencies」を要求し、離れたときにActiveSupportエラーを追加しました。新しいエラーはです。 –

答えて

0

このlinkは正しい経路に設定します。 require 'active_support/dependencies'を追加した後、次に 'action_controller'を追加しました。 をconfig.ruに追加しました。私は自分のURIを通じてindex.htmlにアクセスできました。ですから、私のconfig.ruは次のように見えます

#!/usr/bin/env ruby 
require 'thin' 
require 'rack' 
require 'active_support/dependencies' 
require 'action_controller' 

require ::File.expand_path('config/environment', File.dirname(__FILE__)) 
run Myapp::Application 

私はこれらの必要性がなぜ必要なのか分かりませんが、そのトリックをするようです。このリンクには、Rails 3ベータ版を使用している理由が書かれています。私はこのような宝石を使用しているかどうかはわかりません。

0

私は私のアプリにバンドル薄いのバージョンを使用しようとする必要があるとき、私は薄いのパッケージメンテナのバージョンを使用して、このエラーを打っています:悲しいこと

$ bundle exec thin start -C /root/myapp/config/thin.yml 

を、私は事はに取得しようとしていますドッキング・コンテナ内で起こるので、RVMはentrypoint.shからそのコマンドを実行することは非常に困難です。パッケージメンテナーのバージョンをすべてapt-get remove thinから削除し、もう一度薄いものをbundle installで再インストールしてみてください。

関連する問題