2011-06-18 7 views
5

Próbuję utworzyć nową aplikację na Heroku ale wydaje się, bez względu na to, co robię Heroku biegnie Ruby 1.9.1 zamiast 1.9.2Running Ruby 1.9.2 na Heroku

stworzyłem moją aplikację ...

heroku create writings --stack cedar 

Wtedy ja pchnął mój rozwinąć gałąź do opanowania na Heroku do testowania

git push heroku develop:master 

ale aplikacja działa z błędami ... patrząc w dziennikach Heroku .. to wydaje się być obraźliwym błędem.

/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) 

Co pokazuje, że działa z rubinem 1.9.1 czy tak nie jest?

Jeśli biegnę Heroku config to widać ...

 
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 

Czy to nie pokazuje, że jest uruchomiony 1.9.1? Jestem totalnie zdezorientowany ... Myślałem, że stos cedrów ma 1.9.2. Każda pomoc doceniona.

Dzięki, znak.

+1

sprawdzić wersję rubinowy otwierając konsolę '$ Heroku console' następnie wewnątrz konsoli, spójrz na' RUBY_VERSION' stała. (Zakładam, że działa na Cedar, ale go nie wypróbowałem) –

Odpowiedz

11

Nie pokazuje, że działa w języku Rubin 1.9.1. Ponieważ standardowa biblioteka zmieniła się bardzo nieznacznie między wersjami 1.9.1 a 1.9.2, ta sama ścieżka jest używana dla obu tych elementów. Zauważysz, że nie jest to tylko na Heroku.

Wygląda na to, że execjs spodziewa się, że w systemie zainstalowane zostanie środowisko uruchomieniowe JS. Wygląda na to, że Celadon Cedar ma jeden (NodeJS), ale nie zadziała, dopóki nie pojawią się szyny 3.1rc5. Do tego czasu postępuj zgodnie z instrukcjami podanymi w odpowiedzi na pytanie: this.

+0

Dzięki! Dodano klejnot rubyracer, który pozbył się tego błędu. Ale teraz dostaję ogólny błąd Error H10 (App crashed) dla heroku. Jestem pewien, że to coś zupełnie innego. – markstewie

+0

Myślę, że domyślny stos na Heroku również używa wersji 1.9.2. – agmcleod

2

Używam także Ruby 1.9.2 i Heroku. Mam to w mojej Gemfile. Pamiętam, że miałem jakieś błędy w javascriptach, gdy próbowałem wdrożyć także Heroku, ale jestem pewien, że to rozwiązało.

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