2011-10-31 18 views
8

Stworzyłem prostą aplikację z Ruby on Rails i próbowałem ją zatwierdzić na Heroku. I już po tym Getting Started on Heroku guide, skończyłem ją i spróbuj otworzyć moją stronę, ale wciąż widzę błąd: Błąd aplikacji:Heroku - Błąd aplikacji

An error occurred in the application and your page could not be served. Please try again in a few moments.

If you are the application owner, check your logs for details.

ktoś wie jak sobie z tym poradzić?


Nie wiem co się stało, ale zrobiłem ten krok, niestety mam inny problem, uruchomić kilka poleceń:

# git add .
# git commit -m "my commit"
On branch master nothing to commit (working directory clean)
# git push heroku master Everything up-to-date
# heroku open Opening http ://eerie-meadow-9207.heroku.com/
# heroku restart Restarting processes... done
# heroku open Opening http ://eerie-meadow-9207.heroku.com/

I widzę komunikat:

We're sorry, but something went wrong.

We've been notified about this issue and we'll take a look at it shortly.

z heroku logs[znacznik czasu usunięte dla jasności]:

app[web.1]: Started GET "/" for 77.236.11.34 at 2011-10-31 11:50:38 -0700 
app[web.1]: Processing by StoreController#index as HTML 
app[web.1]: Completed 500 Internal Server Error in 3ms 
heroku[router]: GET eerie-meadow-9207.heroku.com/ dyno=web.1 queue=0 wait=0ms service=13ms status=500 bytes=728 
heroku[nginx]: 77.236.11.34 - - [31/Oct/2011:11:50:38 -0700] "GET/HTTP/1.1" 500 728 "-" "Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.2.23) Gecko/20110921 Ubuntu/10.04 (lucid) Firefox/3.6.23" eerie-meadow-9207.heroku.com 
app[web.1]: 
heroku[web.1]: State changed from up to bouncing 
heroku[web.1]: State changed from bouncing to created 
heroku[web.1]: State changed from created to starting 
heroku[web.1]: Starting process with command `thin -p 40376 -e production -R /home/heroku_rack/heroku.ru start` 
heroku[web.1]: Process exited 
app[web.1]: >> Maximum connections set to 1024 
app[web.1]: >> Listening on 0.0.0.0:40376, CTRL+C to stop 
app[web.1]: >> Thin web server (v1.2.6 codename Crazy Delicious) 
heroku[web.1]: State changed from starting to up 
app[web.1]: 
app[web.1]: Started GET "/" for 77.236.11.34 at 2011-10-31 11:50:59-0700 
app[web.1]: 
app[web.1]: Processing by StoreController#index as HTML 
app[web.1]: Completed 500 Internal Server Error in 4ms 
app[web.1]: 
app[web.1]: ActiveRecord::StatementInvalid (PGError: ERROR: relation "products" does not exist 
app[web.1]: :    SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull 
app[web.1]:    FROM pg_attribute a LEFT JOIN pg_attrdef d 
app[web.1]:   ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
app[web.1]:    WHERE a.attrelid = '"products"'::regclass 
app[web.1]:   AND a.attnum > 0 AND NOT a.attisdropped 
app[web.1]:    ORDER BY a.attnum 
app[web.1]:): 
app[web.1]: app/controllers/store_controller.rb:3:in `index' 
app[web.1]: 
app[web.1]: 
app[web.1]: cache: [GET /] miss 
heroku[router]: GET eerie-meadow-9207.heroku.com/ dyno=web.1 queue=0 wait=0ms service=81ms status=500 bytes=728 
heroku[nginx]: 77.236.11.34 - - [31/Oct/2011:11:50:59 -0700] "GET/HTTP/1.1" 500 728 "-" "Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.2.23) Gecko/20110921 Ubuntu/10.04 (lucid) Firefox/3.6.23" eerie-meadow-9207.heroku.com 
app[web.1]: 
app[web.1]: 
app[web.1]: Started GET "/" for 77.236.11.34 at 2011-10-31 11:54:00-0700 
app[web.1]: Processing by StoreController#index as HTML 

Nie mogę tego zrozumieć, ponieważ na moim netbooku działa on na localhost, jakieś pomysły?

+2

jedno rozwiązanie: 'Heroku logs' w konsoli, aby wiedzieć, co się stało – apneadiving

+1

co stos nie używasz? "stack heroku" i którą wersję szyn? –

+0

Może to być dowolna liczba rzeczy. Czy przejrzałeś dzienniki lub sprawdziłeś, czy kod jest tym, co chciałeś napisać w samouczku? –

Odpowiedz

5

W większości przypadków problemy z herokami wynikają z braku uprawnień do uzyskiwania dostępu do systemu plików. Aby twoja aplikacja działała na heroku, musisz się upewnić, że nie spróbujesz napisać niczego na dysk (ale w folderze tymczasowym).

Typowym przykładem jest proces kompilowania js/css, np. z kompasem, dla którego znajdziesz rozwiązanie w bazie wiedzy: http://devcenter.heroku.com/articles/using-compass

Powinieneś zajrzeć dalej w dziennikach Heroku, sprawdzić, czy podczas uruchamiania aplikacji lub podczas pierwszych żądań wystąpił problem z "odmową zgody".

+0

ok - rozwiązany, ale teraz mam inny problem - edytowałem swój wpis – ruhungry

+0

Dzięki. Konfigurowanie kompasu do pracy z Heroku działało dla mnie. – Ryan

14

Spróbuj ponownie uruchomić aplikację, używając heroku restart. Zakładając, że Twoja aplikacja działa dobrze lokalnie, powinno to wystarczyć. Rozwiązał problem dla mnie, ponieważ tylko refaktoryzowałem schemat i db: reset nie działał.

+0

Uruchamiam moją aplikację lokalnie i to działa. Ponowne uruchomienie Heroku dało: Restartowanie procesów ... zrobione, następnie otwarte Heroku i widzę ten sam błąd ... Czytałem, że może to być problem, jeśli użyjesz wielokrotnie polecenia HEROKU CREATE. Stworzyłem około 6-7 projektów, ale usunąłem cały ten projekt z witryny HEROKU. Jakieś inne pomysły? – ruhungry

+0

Sprawdź wideo w mojej odpowiedzi. Brakuje zasobów na przesyłanie 3.1 aplikacji do Heroku po raz pierwszy, ale wideo prowadzi cię przez czytanie i rozwiązywanie błędów. – Dru

+0

To zadziałało dla mnie. Pozostawiłem aplikację na uśpienie przez jakiś czas, ponieważ nic się nie zmieniło, nie wiedziałem, dlaczego to nie zadziałało. – Rohmer

2

http://www.youtube.com/watch?v=p_3dIPgXgkg

Jeśli już aplikacja zbudowana, przejdź do punktu w filmie, kiedy rozpoczyna popychanie przykładową aplikację do Heroku. Niestety Heroku powraca ciężko, aby rozwiązać błędy podczas przesyłania 3.1 aplikacji po raz pierwszy. Postępuj zgodnie z instrukcjami dotyczącymi rozwiązywania problemów w filmie, a wszystko będzie w porządku.

+0

Chciałbym wypróbować 'heroku db: reset', a następnie' heroku db: migrate' Jeśli ten zestaw poleceń nie działa, spróbuj 'heroku destroy' i przeprowadź ponownie z pomocą samouczka youtube'a Metody rozwiązywania problemów – Dru

18

Spróbuj użyć polecenia

heroku run rake db:migrate

+0

Co to osiągnie? – jhoyla

+0

To zwróciło mi błąd składniowy, którego mi brakowało. Dzięki za tę podpowiedź. Nigdy bym nie odgadł bezpośrednio z komendy heroku logs. – ksu

+0

Miałem podobny błąd, przyklad.com/users podawał takie same dane wyjściowe html na tym etapie railstutorial.org: https://www.railstutorial.org/book/toy_app#sec-demo_users_resource i używając 'rake heroku db: migrate' rozwiązał mój problem. Dzięki! – Ekin

Powiązane problemy