Mongoid 3 と Ruby 1.9.3 へのアップグレード。Heroku Cedar スタックで Ruby 1.9.3 を使用しようとしています。Gemfile の先頭に以下を追加しました。
source 'http://rubygems.org'
ruby "1.9.3"
HerokuにPushしてみると、うまくいっているようでした
-----> Heroku 受信プッシュ
-----> Ruby/Rails アプリが検出されました
-----> Ruby バージョンを使用: ruby-1.9.3
-----> Bundler バージョン 1.2.0 を使用して依存関係をインストールします。 rc.2
ただし、Ruby 1.9.3 が必要なため、私のアプリは壊れています。エラーは次のようになります。
TypeError: can't convert Array to String
from /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/node.rb:214:in initialize'getaddrinfo'
from /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/node.rb:214:in
ここで提案されているように、私のパスには最初にビンがあります
パス => bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin
何が間違っている可能性がありますか?
アップデート:
Mongoid.yml
development:
sessions:
default:
database: myapp_development
hosts:
- "localhost:27017"
max_retries_on_connection_failure: 3
production:
sessions:
default:
database: "<%= ENV['MONGOHQ_DATABASE'] %>"
hosts:
-
- "<%= ENV['MONGOHQ_URL1'] %>:<%= ENV['MONGOHQ_PORT'] %>"
-
- "<%= ENV['MONGOHQ_URL2'] %>:<%= ENV['MONGOHQ_PORT'] %>"
max_retries_on_connection_failure: 10
password: "<%= ENV['MONGOHQ_PASSWORD'] %>"
read: !ruby/symbol secondary
username: "<%= ENV['MONGOHQ_USERNAME'] %>"
Heroku プッシュ出力:
-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using Bundler version 1.2.0.rc.2
Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
Fetching gem metadata from http://rubygems.org/......
Fetching gem metadata from http://rubygems.org/..
Fetching https://github.com/dementrock/sunspot_mongoid.git
Using rake (0.9.2.2)
Using log4r (1.1.10)
Using XMLCanonicalizer (1.0.1)
Using multi_json (1.0.4)
Using activesupport (3.1.3)
Using builder (3.0.0)
Using i18n (0.6.0)
Using activemodel (3.1.3)
Using erubis (2.7.0)
Using rack (1.3.5)
Using rack-cache (1.2)
Using rack-mount (0.8.3)
Using rack-test (0.6.1)
Using hike (1.2.1)
Using tilt (1.3.3)
Using sprockets (2.0.4)
Using actionpack (3.1.3)
Installing mime-types (1.19)
Using polyglot (0.3.3)
Using treetop (1.4.10)
Using mail (2.3.3)
Using actionmailer (3.1.3)
Using arel (2.2.3)
Using tzinfo (0.3.33)
Using activerecord (3.1.3)
Using activeresource (3.1.3)
Using addressable (2.2.8)
Installing excon (0.15.5)
Using formatador (0.2.3)
Using net-ssh (2.5.2)
Using net-scp (1.0.4)
Installing nokogiri (1.5.5) with native extensions
Using ruby-hmac (0.4.0)
Installing fog (1.5.0)
Installing asset_sync (0.4.2)
Installing bson (1.6.4)
Installing bson_ext (1.6.4) with native extensions
Using carmen (0.2.7)
Using carrierwave (0.5.8)
Installing moped (1.2.0)
Installing origin (1.0.6)
Installing mongoid (3.0.4)
Installing carrierwave-mongoid (0.1.0)
Installing clockwork (0.4.1)
Using coffee-script-source (1.3.3)
Using execjs (1.4.0)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.2)
Installing json (1.7.4) with native extensions
Using rdoc (3.12)
Using thor (0.14.6)
Using railties (3.1.3)
Using coffee-rails (3.1.1)
Installing daemons (1.1.9)
Using delayed_job (3.0.3)
Using delayed_job_active_record (0.3.2)
Using eventmachine (0.12.10)
Using exceptional (2.0.32)
Using multipart-post (1.1.5)
Using faraday (0.7.6)
Using fastercsv (1.5.5)
Using haml (3.1.6)
Using jquery-rails (1.0.19)
Using kaminari (0.13.0)
Installing systemu (2.5.2)
Installing macaddr (1.6.1)
Using net-http-digest_auth (1.2.1)
Using net-http-persistent (1.9)
Using webrobots (0.0.13)
Using mechanize (2.0.1)
Installing mongo (1.6.4)
Using mongoid_spacial (0.2.16)
Using multi_xml (0.4.4)
Using mysql2 (0.3.11)
Using net-ldap (0.2.2)
Installing newrelic_moped (0.0.3)
Installing newrelic_rpm (3.4.1)
Using oa-core (0.3.0)
Using rest-client (1.6.7)
Using oa-basic (0.3.0)
Using pyu-ruby-sasl (0.0.3.3)
Using rubyntlm (0.1.1)
Using uuid (2.3.5)
Using oa-enterprise (0.3.0)
Using oa-more (0.3.0)
Using oauth (0.4.6)
Using oauth2 (0.5.2)
Using oa-oauth (0.3.0)
Installing ruby-openid (2.2.0)
Using rack-openid (1.3.1)
Using ruby-openid-apps-discovery (1.2.0)
Using oa-openid (0.3.0)
Using omniauth (0.3.0)
Installing pg (0.14.0) with native extensions
Using pr_geohash (1.0.0)
Using bundler (1.2.0.rc.2)
Using rails (3.1.3)
Using recaptcha (0.3.4)
Using rmagick (2.13.1)
Using rpm_contrib (2.1.11)
Using rsolr (1.0.8)
Using ruby-prof (0.11.2)
Installing sass (3.2.0)
Using sass-rails (3.1.4)
Using sitemap_generator (2.1.8)
Installing sunspot (1.3.3)
Installing sunspot_rails (1.3.3)
Using sunspot_mongoid (0.4.1) from https://github.com/dementrock/sunspot_mongoid.git (at master)
Installing thin (1.4.1) with native extensions
Using typhoeus (0.3.3)
Using uglifier (1.2.4)
Using validatable (1.6.7)
Your bundle is complete! It was installed into ./vendor/bundle
Post-install message from newrelic_rpm:
PLEASE NOTE:
Developer Mode is now a Rack middleware.
Developer Mode is no longer available in Rails 2.1 and earlier.
However, starting in version 2.12 you can use Developer Mode in any
Rack based framework, in addition to Rails. To install developer mode
in a non-Rails application, just add NewRelic::Rack::DeveloperMode to
your middleware stack.
If you are using JRuby, we recommend using at least version 1.4 or
later because of issues with the implementation of the timeout library.
Refer to the README.md file for more information.
Please see http://github.com/newrelic/rpm/blob/master/CHANGELOG
for a complete description of the features and enhancements available
in version 3.4 of the Ruby Agent.
Cleaning up the bundler cache.
-----> Writing config/database.yml to read from DATABASE_URL
-----> Preparing app for Rails asset pipeline
Detected manifest.yml, assuming assets were compiled locally
-----> Rails plugin injection
Injecting rails_log_stdout
Injecting rails3_serve_static_assets
-----> Discovering process types
Procfile declares types -> clock, web, worker
Default types for Ruby/Rails -> console, rake
-----> Compiled slug size is 36.3MB
-----> Launching... done, v318
-----> Deploy hooks scheduled, check output in your logs
http://myapp.herokuapp.com deployed to Heroku
サーバーのログ:
/app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/node.rb:214:in
getaddrinfo' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/node.rb:214:in
initialize' /app/vendor/bundle/ruby/1.9.1/gems/moped -1.2.0/lib/moped/cluster.rb:53:new' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/cluster.rb:53:in
ブロック内の初期化' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/cluster.rb:53 :map' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/cluster.rb:53:in
初期化中' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/session.rb:183 :new' /app/vendor/bundle/ruby/1.9.1/gems/moped-1.2.0/lib/moped/session.rb:183:in
初期化中' /app/vendor/bundle/ruby/1.9.1 /gems/mongoid-3.0.4/lib/mongoid/sessions/factory.rb:64:innew' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions/factory.rb:64:in
create_session' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions /factory.rb:43:default' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions.rb:109:in
デフォルトで' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions.rb:378:mongo_session__session__' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions.rb:213:in
で' /app/vendor/bundle /ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/sessions.rb: 157:インチcollection' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/contextual/mongo.rb:217:in
initialize' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/contextual.rb:47:innew' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/contextual.rb:47:in
create_context' /app/vendor/bundle/ruby/1.9.1/gems /mongoid-3.0.4/lib/mongoid/contextual.rb:30:context' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/contextual.rb:18:in
個別に' /app/app/controllers/my_controller.rb:14:send_actionindex' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/implicit_render.rb:4:in
' /app/vendor/bundle/ruby/1.9.1/gems /actionpack-3.2.3/lib/abstract_controller/base.rb:167:inprocess_action' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/rendering.rb:10:in
process_action' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/abstract_controller/callbacks.rb:18 :block in process_action' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:436:in
実行中 _647889395514353966__process_action_ 2178726499830545563 _callbacks' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in__run_callback' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:385:in
_run_process_action_callbacks' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:inrun_callbacks' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/abstract_controller/callbacks.rb:17:in
process_action' /app/vendor/bundle/ruby/1.9.1/gems /actionpack-3.2.3/lib/action_controller/metal/rescue.rb:29:inprocess_action' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/instrumentation.rb:30:in
block in process_action' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/notifications .rb:123:block in instrument' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/notifications/instrumenter.rb:20:in
instrument' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/notifications.rb:123:ininstrument' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/instrumentation.rb:29:in
process_action' /app/vendor/bundle/ruby /1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/params_wrapper.rb:205:inprocess_action' /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/railties/controller_runtime.rb:18:in
process_action' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.1/lib /new_relic/agent/instrumentation/rails3/action_controller.rb:34:inblock in process_action' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.1/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:262:in
perform_action_with_newrelic_trace 内のブロック' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.1/lib/new_relic/agent/method_tracer.rb:242:perform_action_with_newrelic_tracetrace_execution_scoped' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.1/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:257:in
' /app/vendor/bundle/ruby/1.9 内.1/gems/newrelic_rpm-3.4.1/lib/new_relic/agent/instrumentation/rails3/action_controller.rb:33:process_action' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/abstract_controller/base.rb:121:in
処理中' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3 /lib/abstract_controller/rendering.rb:45:inprocess' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal.rb:203:in
dispatch' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/rack_delegation.rb:14:indispatch' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal.rb:246:in
block inアクション' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:73:call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:73:in
ディスパッチ中' /app/vendor/bundle/ruby/1.9.1 /gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:36:incall' /app/vendor/bundle/ruby/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:68:in
呼び出し中のブロック' /app/vendor/bundle/ruby/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:56:each' /app/vendor/bundle/ruby/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:56:in
呼び出し中' /app/vendor/bundle/ruby/1.9.1 /gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:600:call' /app/vendor/bundle/ruby/1.9.1/gems/omniauth-1.0.3/lib/omniauth/strategy.rb:168:in
呼び出し中!' /app/vendor/bundle/ruby/1.9.1/gems/omniauth-1.0.3/lib/omniauth/strategy.rb:148:incall' /app/vendor/bundle/ruby/1.9.1/gems/omniauth-1.0.3/lib/omniauth/builder.rb:42:in
call' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm -3.4.1/lib/new_relic/rack/browser_monitoring.rb:12:incall' /app/vendor/bundle/ruby/1.9.1/gems/exceptional-2.0.32/lib/exceptional/integration/rack_rails.rb:13:in
call' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/rack/mongoid/middleware/identity_map .rb:33:inblock in call' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/mongoid/unit_of_work.rb:39:in
unit_of_work' /app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.4/lib/rack/mongoid/middleware/identity_map.rb:33:incall' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/best_standards_support.rb:17:in
call' /app/vendor /bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/etag.rb:23:incall' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/conditionalget.rb:25:in
call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/head.rb:14:incall' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/params_parser.rb:21:in
call' /app/vendor/bundle/ruby/1.9.1 /gems/actionpack-3.2.3/lib/action_dispatch/middleware/flash.rb:242:incall' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205:in
context' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session /abstract/id.rb:200:call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/cookies.rb:338:in
呼び出し中' /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/query_cache.rb:64:call' /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:467:in
呼び出し中' /app/vendor /bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/callbacks.rb:28:inblock in call' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in
run _2458689492548881573_ call _1062142932397414625__callbacks' /app/vendor/bundle/ruby/1.9.1/gems/ activesupport-3.2.3/lib/active_support/callbacks.rb:405:in__run_callback' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:385:in
_run_call_callbacks' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:inrun_callbacks' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/callbacks.rb:27:in
call' /app/vendor/bundle/ruby/1.9.1/gems /rack-1.4.1/lib/rack/sendfile.rb:102:incall' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/remote_ip.rb:31:in
call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/debug_exceptions.rb :16:call' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/show_exceptions.rb:56:in
呼び出し中' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/rack/logger.rb:26 :call_app' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/rack/logger.rb:16:in
呼び出し中' /app/vendor/bundle/ruby /1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/request_id.rb:22:incall' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in
call' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib /rack/runtime.rb:17:call' /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/cache/strategy/local_cache.rb:72:in
呼び出し中' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/lock.rb:15:incall' /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/middleware/static.rb:62:in
call' /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:inforward' /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:245:in
fetch' /app/vendor/bundle/ruby/1.9.1 /gems/rack-cache-1.2/lib/rack/cache/context.rb:185:lookup' /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:66:in
呼び出し中!' /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:incall' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/engine.rb:479:in
call' /app/vendor/bundle/ruby/1.9.1/gems /railties-3.2.3/lib/rails/application.rb:220:incall' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in
method_missing' /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.1/lib/new_relic/rack/developer_mode.rb :24:incall' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/content_length.rb:14:in
call' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/rack/log_tailer.rb:14:incall' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:80:in
block in pre_process' /app/vendor/bundle /ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:78:incatch' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:78:in
pre_process' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:53:inprocess' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:38:in
receive_data' /app/vendor/bundle/ruby/1.9.1/gems /eventmachine-0.12.10/lib/eventmachine.rb:256:run_machine' /app/vendor/bundle/ruby/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in
実行中' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/backends/base.rb:63 :start' /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/server.rb:159:in
起動中' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/thin.rb:13 :run' /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:265:in
起動中' /app/vendor/bundle/ruby/1.9 .1/gems/railties-3.2.3/lib/rails/commands/server.rb:70:instart' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:55:in
block in ' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/ rails/commands.rb:50:intap' /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in
' script/rails:6:inrequire' script/rails:6:in
'