2011-06-18 97 views
5

我試圖創建在Heroku上一個新的應用程序,但似乎無論什麼我做的Heroku運行1.9.1,而不是1.9.2運行紅寶石1.9.2在Heroku

我創建我的應用程序...

heroku create writings --stack cedar 

然後我把我的發展分支在Heroku掌握測試

git push heroku develop:master 

,但應用程序有錯誤運行...看在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的配置,它表明...

 
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'不變。 (我認爲這是雪松工作,但沒有嘗試過) –

回答

11

它沒有顯示它運行的是Ruby 1.9.1。因爲標準庫在1.9.1和1.9.2之間變化很小,所以它們都使用相同的路徑。你會注意到這不僅僅是在Heroku上。

看起來像execjs正在期望在系統上安裝JS運行時。顯然青瓷雪松有一個(NodeJS),但它不會工作,直到軌道3.1rc5到達。在此之前,請按照this的答案回答。

+0

謝謝!添加了rubyracer寶石,並擺脫了那個錯誤。但是現在我剛剛得到了一個針對heroku的通用錯誤H10(應用程序崩潰)錯誤。我相信這完全是另一回事。 – 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