3

herokuでアプリケーションをruby1.9.2からruby1.9.3にアップグレードしました。

それについてのherokuに関する記事をフォローしました: https ://devcenter.heroku.com/articles/ruby-versions

アプリケーションをデプロイしたとき、エラーは発生しませんでした。

> -----> 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/.. Using rake (0.9.2.2) Using i18n (0.6.0)
> ..............
> -----> Discovering process types Procfile declares types -> worker Default types for Ruby/Rails -> console, rake, web
> -----> Compiled slug size is 27.0MB
> -----> Launching... done, v157 http://riskyshower.herokuapp.com deployed to Heroku

しかし、アプリケーションを正しく起動できません。ログを追跡すると、次のように表示されます。

2012-08-16T10:21:26+00:00 heroku[router]: Error H10 (App crashed) -> GET my_domain.me/ dyno= queue= wait= service= status=503 bytes=
2012-08-16T10:21:27+00:00 heroku[router]: Error H10 (App crashed) -> GET my_domain.me/favicon.ico dyno= queue= wait= service= status=503 bytes=

何が問題なのかを知るための情報をこれ以上取得することはできませんが、Rubyが適切にアップグレードされていないと思います。

heroku run "ruby -v"
Running ruby -v attached to terminal... up, run.1
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]

1.9.3になるはずのとき

私のGemfileの上部には、次のものがあります。

source 'http://rubygems.org'
ruby '1.9.3'

最新バージョンのバンドラーを使用しています。

bundle -v
Bundler version 1.2.0.rc.2

そして、私は私が推測するルビーへの正しい道を持っています(記事のように):

heroku config -s | grep PATH
PATH=vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin:bin

Ruby 1.9.3へのアップグレードを強制するために何を実行する必要があるかについてのアイデアはありますか?

ありがとう!

4

2 に答える 2

3

私は十分な注意を払ってドキュメントを読みませんでした。

私のheroku PATHは

vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin

ドキュメントには次のように記載されています。

最初のエントリがないか、ない場合は、heroku config:add を使用して bin: を構成に追加します。$ heroku config:add PATH=bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin

最初のエントリタームではなく (思ったように単に存在するわけではありません)、明らかに PATH の前に「bin」を追加する必要がありました。

于 2012-08-17T06:10:17.177 に答える
2

本当に Cedar スタックにいますか? それが、Heroku で Ruby のバージョンをそのように設定できる唯一の方法だと思います。そうでない場合は、Cedar スタックに切り替えると問題が解決する可能性があります。

于 2012-08-16T20:24:32.473 に答える