2011-06-18 12 views
5

私はHerokuの上に新しいアプリを作成しようとしている上のルビー1.9.2を実行しているが、それは関係なく、私はHerokuのを何思わない、私は私のアプリを作成しました1.9.2Herokuの

ではなく、ルビー1.9.1を実行します...

heroku create writings --stack cedar 

その後、これはと思わ..私は私の

git push heroku develop:master 

をテストするためHerokuの上のマスタにブランチを開発をプッシュした。しかしこのアプリはHerokuのログで探して...エラーで動作します問題のあるエラーになります。

/app/vendor/bundle/ruby/1.9.1/gems/execjs-1.1.3/lib/execjs/runtimes.rb:43:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable) 

これは、Ruby 1.9.1を実行していることを示していますか?

私はHerokuのは、それが示しconfigコン実行すると...

 
heroku config 
DATABASE_URL  => postgres://mxlvaczibv:[email protected]/mxlvaczibv 
GEM_PATH   => vendor/bundle/ruby/1.9.1 
LANG    => en_US.UTF-8 
PATH    => vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin 
RACK_ENV   => production 
RAILS_ENV   => production 
SHARED_DATABASE_URL => postgres://mxlvaczibv:[email protected]/mxlvaczibv 

が、これはそれが1.9.1を実行している示していませんか?私は完全に混乱している...私は杉のスタックが1.9.2を実行したと思った。どんな助けもありがたい。

ありがとうございます。

+1

コンソールを開いて、あなたのルビーのバージョンをチェックし、 '$ Herokuのconsole'、コンソール内で、' RUBY_VERSION'定数を見てください。 (私はこれがCedarで動作すると仮定しますが、試していません) –

答えて

11

Ruby 1.9.1が動作していることを示していません。標準ライブラリは1.9.1から1.9.2の間でほとんど変更されていないため、両方で同じパスが使用されます。あなたはこれがHerokuだけではないことに気付くでしょう。

execjsは、システムにJSランタイムがインストールされているようです。明らかにCeladon CedarにはNodeJSが1つありますが、レール3.1rc5が到着するまで動作しません。それまでは、this答えの指示に従ってください。

+0

ありがとう! Rubyracer gemを追加し、そのエラーを取り除いた。しかし、今私はherokuの一般的なエラーH10(App crashed)エラーを取得します。私はこれがまったく別のものだと確信しています。 – markstewie

+0

herokuのデフォルトスタックは1.9.2を使用すると思います。 – agmcleod

2

私はRuby 1.9.2とHerokuも使用しています。私はこれを私のGemfileに持っています。前にHerokuにデプロイしようとしたときにJavaScriptエラーが発生していることを覚えていますが、これが解決したと確信しています。

group :production do 
    gem 'therubyracer-heroku', '0.8.1.pre3' 
end 
0

使用してみてください:

heroku create --stack bamboo-mri-1.9.2