2012-10-22 38 views
6

HerokuのアプリをHerokuのAspenからCedarのスタックに移植しています。heroku:bash:bundle:コマンドが見つかりません

私は最後の展開ステップです。私はこのエラーを取得する:

2012-10-22T11:23:53+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -p 40310 -e production` 
2012-10-22T11:23:54+00:00 app[web.1]: bash: bundle: command not found 

バンドラはまさにこの仕事のために、それによって使用されているので、私は、私はバンドルがあるHerokuのスタックを伝える、またはそれを提供する責任を負うことができるか見ることができません。このコマンドは、アプリをProcfileに指定されています。

web: bundle exec thin start -p $PORT -e $RACK_ENV 

stackoverflowの上の別の同様の質問は、アプリが最初にProcfileなしHerokuのにプッシュされている場合Herokuのは、アプリの種類についての間違った考えを取得しますので、これは、起こることを示唆していますそうです。そのポスターは自分のアプリを削除し、新しいものを作成して成功を報告しました。しかし、私の移植されたアプリケーションの削除と再作成に伴う努力は高いです。やり直すのではなく、これを修正できる方法はありますか?

+0

私の場合、私のアプリで働いていた最新のRubyを私のGemfileで指定して問題を解決しました。 –

答えて

5

Herokuのスラッグ構築プロセスは、ruby 1.8.7のアプリケーションに関して変更されているに違いありません。私は彼らが1.8のアプリケーションのために1.9.1ではなく1.8のパスにバンドルを開始したと推測しています。新しいリビジョンをプッシュしようとすると、以前働いていたアプリが機能しなくなりました。

heroku config:add PATH=bin:vendor/bundle/1.8/bin:/usr/local/bin:/usr/bin:/bin GEM_PATH=vendor/bundle/1.8 

は私が以前に使用したのと同じgitリポジトリを使用して、新しく作成されたアプリからこれらのパスを取った:

は、ここで再び作業それを得たものです。

EDIT:herokuはdevcenterの記事Changing Ruby Version Breaks Pathを公開していますが、これはさまざまなルビバージョンのパスを指定しています。

+0

さらなる洞察 - パスが(おそらく私のHerokuチケットに応答して)、正しいGemfileでバンドルをプッシュしたときに正しく設定されていれば、Gemfileは正しいルビーバージョンを持っています。あなたが指定しなければ1.9.1と(当然)推測されます。それが間違っている、これは正しいパスです(私は間違って私が見た1.9.1に基づいて初めて1.8.7を推測しました!) – GreenAsJade

2

私は同じ問題を持っていたと私はあなたが、空のレールのアプリを作成するHerokuのにプッシュし、それが自動的に設定された変数を確認し、その後、(コピーすることができ、正しいHerokuのコンフィグ変数に

$ heroku config 
=== xxxx Config Vars 
DATABASE_URL:     postgres://(...) 
GEM_PATH:      vendor/bundle/ruby/1.9.1 
HEROKU_POSTGRESQL_CRIMSON_URL: postgres://(...) 
LANG:       en_US.UTF-8 
PATH:       bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin 
PGBACKUPS_URL:     https://(...) 
RACK_ENV:      production 
RAILS_ENV:      production 

を設定することによってそれを解決あなたのアプリケーションにそれらを適合させてください)

+0

ありがとう!私の設定はあなたのものと同じように見えます。私は1.8.7のアプリだから少し奇妙だが、どうしてバンドルがパス上にあるのかということに違いがあるのか​​分からない。 – GreenAsJade

+0

ちょっと - あなたが変更しなければならなかったこと、具体的には動作させていたことを教えてください。 – GreenAsJade

+1

設定をruby 1.8.7に変更する必要があります PATHとGEM_PATHが変更されていると思います。 1.8.7で1.9.1を変更したり、新しい作成済みアプリケーション(ルビー1.8.7)の設定値を確認してみてください。 –

関連する問題