Człowieku, nie załamuj mnie. Moja aplikacja nie jest jakimś zaawansowanym dziełem na miarę Allegro czy Amazon. Ona jest początkową fazą prostego przykładu z książki. Dwa zwykłe gemy z tutoriala i okazuje się że nie ma szans na rozwiązanie problemu?
Skąd takie bzdury, że heroku nie wspiera slim i sass? Niby czemu miało by tak być?
@Merano Czym się objawia to niedziałanie? “Nie działa” to zbyt ogólne stwierdzenie, żeby można było sensownie pomóc. Jeśli nie wiesz co się dzieje, pomocne mogą okazać się logi, na heroku dostępne z konsoli pod heroku logs
.
Kilka postów wyżej umieściłem zrzut ekranu z komunikatami pojawiającymi się podczas instalacji na Heroku. Potem dodałem do pliku Gemfile
użyte wersje gemów, ale otrzymuję ten sam komunikat. Wg polecenia, zrobiłem heroku logs
, i wyniki wkleiłem poniżej.
C:\Users\Desktop\strona_merano>heroku logs
DL is deprecated, please use Fiddle
2014-09-11T19:17:25.918851+00:00 heroku[api]: Enable Logplex by wp@wp.pl
2014-09-11T19:17:25.918926+00:00 heroku[api]: Release v2 created by wp@wp.pl
2014-09-11T19:18:00+00:00 heroku[slug-compiler]: Slug compilation started
2014-09-11T19:18:19+00:00 heroku[slug-compiler]: Slug compilation finished
2014-09-11T19:18:19.206703+00:00 heroku[api]: Set LANG, RACK_ENV config vars by
wp@wp.pl
2014-09-11T19:18:19.206820+00:00 heroku[api]: Release v3 created by wp@wp.pl
2014-09-11T19:18:19.139128+00:00 heroku[api]: Scale to web=1 by wp@wp.pl
2014-09-11T19:18:19.285513+00:00 heroku[api]: Release v4 created by wp@wp.pl
2014-09-11T19:18:19.285437+00:00 heroku[api]: Deploy 1f5a8a9 by wp@wp.pl
2014-09-11T19:18:21.963083+00:00 heroku[web.1]: Starting process with command b undle exec rackup config.ru -p 45637
2014-09-11T19:18:23.198521+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/
sinatra-1.0/lib/sinatra/base.rb:298:in <module:Templates>': uninitialized const ant Tilt::CompileSite (NameError) 2014-09-11T19:18:23.198577+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/sinatra-1.0/lib/sinatra/base.rb:297:in
module:Sinatra’
2014-09-11T19:18:23.198657+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/sinatra-1.0/lib/sinatra.rb:4:in require' 2014-09-11T19:18:23.198683+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/sinatra-1.0/lib/sinatra.rb:4:in
<top (required)>’
2014-09-11T19:18:23.198710+00:00 app[web.1]: from /app/main.rb:4:in `require’
2014-09-11T19:18:23.198604+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/sinatra-1.0/lib/sinatra/base.rb:21:in <top (required)>' 2014-09-11T19:18:23.198742+00:00 app[web.1]: from /app/main.rb:4:in
<top (re
quired)>’
2014-09-11T19:18:23.198803+00:00 app[web.1]: from /app/config.ru:1:in block in <main>' 2014-09-11T19:18:23.198920+00:00 app[web.1]: from /app/config.ru:in
’
2014-09-11T19:18:23.198973+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in eval' 2014-09-11T19:18:23.198778+00:00 app[web.1]: from /app/config.ru:1:in
requir
e’
2014-09-11T19:18:23.199113+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/rack-1.5.2/lib/rack/builder.rb:40:in parse_file' 2014-09-11T19:18:23.199140+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/rack-1.5.2/lib/rack/server.rb:277:in
build_app_and_options_from_config’
2014-09-11T19:18:23.199166+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/rack-1.5.2/lib/rack/server.rb:199:in app' 2014-09-11T19:18:23.198853+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/rack-1.5.2/lib/rack/builder.rb:55:in
initialize’
2014-09-11T19:18:23.199306+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/bin/rackup:23:in load' 2014-09-11T19:18:23.199350+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/bin/rackup:23:in
’
2014-09-11T19:18:23.199070+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in new_from_string' 2014-09-11T19:18:23.199282+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/rack-1.5.2/bin/rackup:4:in
<top (required)>’
2014-09-11T19:18:23.198828+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in instance_eval' 2014-09-11T19:18:23.198895+00:00 app[web.1]: from /app/config.ru:in
new’
2014-09-11T19:18:23.199191+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/rack-1.5.2/lib/rack/server.rb:314:in wrapped_app' 2014-09-11T19:18:23.199231+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/rack-1.5.2/lib/rack/server.rb:250:in
start’
2014-09-11T19:18:23.199257+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/rack-1.5.2/lib/rack/server.rb:141:in start' 2014-09-11T19:18:24.169545+00:00 heroku[web.1]: State changed from starting to c rashed 2014-09-11T19:18:24.170544+00:00 heroku[web.1]: State changed from crashed to st arting 2014-09-11T19:18:26.218321+00:00 heroku[web.1]: Starting process with command
b
undle exec rackup config.ru -p 228572014-09-11T19:18:27.426160+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/ sinatra-1.0/lib/sinatra/base.rb:298:in
module:Templates’: uninitialized const
ant Tilt::CompileSite (NameError)
2014-09-11T19:18:27.426186+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/sinatra-1.0/lib/sinatra.rb:4:in require' 2014-09-11T19:18:27.426182+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/sinatra-1.0/lib/sinatra/base.rb:297:in
module:Sinatra’
2014-09-11T19:18:27.426184+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/sinatra-1.0/lib/sinatra/base.rb:21:in <top (required)>' 2014-09-11T19:18:27.426188+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/sinatra-1.0/lib/sinatra.rb:4:in
<top (required)>’
2014-09-11T19:18:27.426190+00:00 app[web.1]: from /app/main.rb:4:in `require’
2014-09-11T19:18:27.426191+00:00 app[web.1]: from /app/main.rb:4:in <top (re quired)>' 2014-09-11T19:18:27.426196+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/rack-1.5.2/lib/rack/builder.rb:55:in
instance_eval’
2014-09-11T19:18:27.426194+00:00 app[web.1]: from /app/config.ru:1:in block in <main>' 2014-09-11T19:18:27.426198+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/rack-1.5.2/lib/rack/builder.rb:55:in
initialize’
2014-09-11T19:18:27.426210+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/rack-1.5.2/lib/rack/builder.rb:40:in parse_file' 2014-09-11T19:18:27.426208+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/rack-1.5.2/lib/rack/builder.rb:49:in
new_from_string’
2014-09-11T19:18:27.426193+00:00 app[web.1]: from /app/config.ru:1:in requir e' 2014-09-11T19:18:27.426201+00:00 app[web.1]: from /app/config.ru:in
’
2014-09-11T19:18:27.426200+00:00 app[web.1]: from /app/config.ru:in new' 2014-09-11T19:18:27.426213+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/rack-1.5.2/lib/rack/server.rb:199:in
app’
2014-09-11T19:18:27.426206+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in eval' 2014-09-11T19:18:27.426221+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/bin/rackup:23:in
load’
2014-09-11T19:18:27.426216+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/rack-1.5.2/lib/rack/server.rb:250:in start' 2014-09-11T19:18:27.426219+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/rack-1.5.2/bin/rackup:4:in
<top (required)>’
2014-09-11T19:18:27.426218+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/gems/rack-1.5.2/lib/rack/server.rb:141:in start' 2014-09-11T19:18:27.426215+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/rack-1.5.2/lib/rack/server.rb:314:in
wrapped_app’
2014-09-11T19:18:27.426222+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0
.0/bin/rackup:23:in <main>' 2014-09-11T19:18:27.426211+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0 .0/gems/rack-1.5.2/lib/rack/server.rb:277:in
build_app_and_options_from_config’
2014-09-11T19:18:28.264795+00:00 heroku[web.1]: Process exited with status 1
2014-09-11T19:18:28.268981+00:00 heroku[web.1]: State changed from starting to c
rashed
2014-09-11T19:18:29.696477+00:00 heroku[router]: at=error code=H10 desc=“App cra
shed” method=GET path="/" host=lit-hollows-5462.herokuapp.com request_id=bee1fc6
2-29f8-4348-8c96-3129e28de593 fwd=“23.20.126.73” dyno= connect= service= status=
503 bytes=
2014-09-11T19:18:42.526010+00:00 heroku[router]: at=error code=H10 desc=“App cra
shed” method=GET path="/" host=lit-hollows-5462.herokuapp.com request_id=aa3802a
b-6c18-4ac8-bce8-3f619efa4488 fwd=“89.75.112.208” dyno= connect= service= status
=503 bytes=
2014-09-11T19:18:43.710861+00:00 heroku[router]: at=error code=H10 desc=“App cra
shed” method=GET path="/favicon.ico" host=lit-hollows-5462.herokuapp.com request
_id=cad91f3f-66bd-446b-ac88-2297d834dc0c fwd=“89.75.112.208” dyno= connect= serv
ice= status=503 bytes=
Próbowałeś w Gemfile:
gem ‘tilt’, ‘~> 1.4.1’ # zamiast 2.0.3
Na podstawie:
Zrobiłem to teraz, i Heroku wywaliło się z nowym błędem Internal Server Error. W poniższych logach jest taka informacja: NoMethodError - undefined method slim
. To może tu tkwi problem?
C:\Users\Desktop\strona_merano>heroku logs
DL is deprecated, please use Fiddle
2014-09-11T20:29:47.236445+00:00 heroku[api]: Release v2 created by wp@wp.pl
2014-09-11T20:29:47.236361+00:00 heroku[api]: Enable Logplex by wp@wp.pl
2014-09-11T20:30:11+00:00 heroku[slug-compiler]: Slug compilation started
2014-09-11T20:30:27.324896+00:00 heroku[api]: Scale to web=1 by wp@wp.pl
2014-09-11T20:30:27.535282+00:00 heroku[api]: Release v3 created by wp@wp.pl
2014-09-11T20:30:27.535217+00:00 heroku[api]: Set LANG, RACK_ENV config vars by wp@wp.pl
2014-09-11T20:30:27.627908+00:00 heroku[api]: Deploy d47d273 by wp@wp.pl
2014-09-11T20:30:27.627980+00:00 heroku[api]: Release v4 created by wp@wp.pl
2014-09-11T20:30:30.199891+00:00 heroku[web.1]: Starting process with command b undle exec rackup config.ru -p 55743
2014-09-11T20:30:33.550598+00:00 app[web.1]: [2014-09-11 20:30:33] INFO WEBrick
1.3.1
2014-09-11T20:30:33.550624+00:00 app[web.1]: [2014-09-11 20:30:33] INFO ruby 2.
0.0 (2014-05-08) [x86_64-linux]
2014-09-11T20:30:33.551091+00:00 app[web.1]: [2014-09-11 20:30:33] INFO WEBrick
::HTTPServer#start: pid=2 port=55743
2014-09-11T20:30:33.959742+00:00 heroku[web.1]: State changed from starting to u
p
2014-09-11T20:30:57.325656+00:00 app[web.1]: NoMethodError - undefined method s lim' for #<Sinatra::Application:0x007f7f9cd4c808>: 2014-09-11T20:30:57.325665+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:865:in
block in route’
2014-09-11T20:30:57.325671+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:497:in catch' 2014-09-11T20:30:57.325675+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:476:in
each’
2014-09-11T20:30:57.325661+00:00 app[web.1]: /app/main.rb:12:in block in <top (required)>' 2014-09-11T20:30:57.325668+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:521:in
route_eval’
2014-09-11T20:30:57.325666+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:521:in instance_eval' 2014-09-11T20:30:57.325676+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:476:in
route!’
2014-09-11T20:30:57.325687+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:399:in call' 2014-09-11T20:30:57.325684+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:566:in
invoke’
2014-09-11T20:30:57.325673+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:497:in block in route!' 2014-09-11T20:30:57.325690+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /rack-1.5.2/lib/rack/commonlogger.rb:33:in
call’
2014-09-11T20:30:57.325663+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:865:in call' 2014-09-11T20:30:57.325682+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:566:in
block in invoke’
2014-09-11T20:30:57.325679+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:411:in block in call!' 2014-09-11T20:30:57.325680+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:566:in
instance_eval’
2014-09-11T20:30:57.325693+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:979:in call' 2014-09-11T20:30:57.325692+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:1005:in
synchronize’
2014-09-11T20:30:57.325698+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2.
0.0/webrick/httpserver.rb:94:in run' 2014-09-11T20:30:57.325696+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2. 0.0/webrick/httpserver.rb:138:in
service’
2014-09-11T20:30:57.325670+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:500:in block (2 levels) in route!' 2014-09-11T20:30:57.325686+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:411:in
call!’
2014-09-11T20:30:57.325850+00:00 app[web.1]: 89.75.112.208 - - [11/Sep/2014 20:3
0:57] “GET / HTTP/1.1” 500 30 0.0013
2014-09-11T20:30:57.325683+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:566:in catch' 2014-09-11T20:30:57.325688+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /rack-1.5.2/lib/rack/methodoverride.rb:21:in
call’
2014-09-11T20:30:57.325699+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2.
0.0/webrick/server.rb:295:in block in start_thread' 2014-09-11T20:30:57.325691+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:979:in
block in call’
2014-09-11T20:30:57.325677+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:601:in dispatch!' 2014-09-11T20:30:57.325695+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /rack-1.5.2/lib/rack/handler/webrick.rb:60:in
service’
2014-09-11T20:30:57.323674+00:00 heroku[router]: at=info method=GET path="/" hos
t=guarded-dawn-4742.herokuapp.com request_id=334a2807-dbf5-411d-a43c-61951c1fda8
e fwd=“89.75.112.208” dyno=web.1 connect=1ms service=11ms status=500 bytes=583
2014-09-11T20:30:57.714164+00:00 heroku[router]: at=info method=GET path="/favic
on.ico" host=guarded-dawn-4742.herokuapp.com request_id=80b9585f-2a1b-4e1f-b6b3-
ebca608cd93d fwd=“89.75.112.208” dyno=web.1 connect=1ms service=32ms status=200
bytes=523
2014-09-11T20:30:57.714563+00:00 app[web.1]: 89.75.112.208 - - [11/Sep/2014 20:3
0:57] “GET /favicon.ico HTTP/1.1” 200 4286 0.0214
2014-09-11T20:31:04.681782+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:865:in call' 2014-09-11T20:31:04.681784+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:865:in
block in route’
2014-09-11T20:31:04.681787+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:521:in route_eval' 2014-09-11T20:31:04.681789+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:500:in
block (2 levels) in route!’
2014-09-11T20:31:04.681774+00:00 app[web.1]: NoMethodError - undefined method s lim' for #<Sinatra::Application:0x007f7f9bc23e00>: 2014-09-11T20:31:04.681780+00:00 app[web.1]: /app/main.rb:12:in
block in <top
(required)>’
2014-09-11T20:31:04.681802+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:566:in catch' 2014-09-11T20:31:04.681785+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:521:in
instance_eval’
2014-09-11T20:31:04.681790+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:497:in catch' 2014-09-11T20:31:04.681792+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:497:in
block in route!’
2014-09-11T20:31:04.681795+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:476:in route!' 2014-09-11T20:31:04.681796+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:601:in
dispatch!’
2014-09-11T20:31:04.681798+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:411:in block in call!' 2014-09-11T20:31:04.681805+00:00 app[web.1 ]: /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.0/lib/sinatra/base.rb:411:in
c
all!’
2014-09-11T20:31:04.681793+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:476:in each' 2014-09-11T20:31:04.681799+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:566:in
instance_eval’
2014-09-11T20:31:04.681817+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2.
0.0/webrick/httpserver.rb:94:in run' 2014-09-11T20:31:04.681803+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:566:in
invoke’
2014-09-11T20:31:04.681801+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:566:in block in invoke' 2014-09-11T20:31:04.681811+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:1005:in
synchronize’
2014-09-11T20:31:04.681806+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:399:in call' 2014-09-11T20:31:04.681808+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /rack-1.5.2/lib/rack/commonlogger.rb:33:in
call’
2014-09-11T20:31:04.681815+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2.
0.0/webrick/httpserver.rb:138:in service' 2014-09-11T20:31:04.681807+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /rack-1.5.2/lib/rack/methodoverride.rb:21:in
call’
2014-09-11T20:31:04.681810+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/sinatra-1.0/lib/sinatra/base.rb:979:in block in call' 2014-09-11T20:31:04.681812+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems /sinatra-1.0/lib/sinatra/base.rb:979:in
call’
2014-09-11T20:31:04.681814+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems
/rack-1.5.2/lib/rack/handler/webrick.rb:60:in service' 2014-09-11T20:31:04.681962+00:00 app[web.1]: 23.20.126.73 - - [11/Sep/2014 20:31 :04] "GET / HTTP/1.1" 500 30 0.0008 2014-09-11T20:31:04.681818+00:00 app[web.1]: /app/vendor/ruby-2.0.0/lib/ruby/2. 0.0/webrick/server.rb:295:in
block in start_thread’
2014-09-11T20:31:04.679162+00:00 heroku[router]: at=info method=GET path="/" hos
t=guarded-dawn-4742.herokuapp.com request_id=a1eff5c6-1558-41f3-afe1-4e50874f775
8 fwd=“23.20.126.73” dyno=web.1 connect=2ms service=6ms status=500 bytes=403
Z outputu deployu wygląda na to, że instalujesz bardzo starą wersję Sinatry - 1.0, obecnie jest 1.4.5.
Sinatra wspiera slim dopiero od wersji 1.2.0: https://github.com/sinatra/sinatra/blob/master/CHANGES#L569
Widocznie Heroku wymusza instalację starej wersji Sinatry. Na komputerze mam wersję 1.4.5, i Slim działa bez problemu. Dopiszę nową wersję do pliku Gemfile, i zobaczę co z tego wyjdzie. Wniosek jest taki, żeby nie dowierzać do końca tutorialom z książek. Tam wszystko jest niby cacy, a rzeczywistość i tak wygląda inaczej. Dzięki za pomoc.
Tutoriale mają do siebie właśnie to, że są aktualne w momencie ich pisania i nie są raczej aktualizowane, a już na pewno nie w książkach.
Ale gdyby wszystko szło gładko jak w książce to byś się o wiele mniej nauczył.
Heroku ostrzegał że będzie olewał Gemfile.lock. Stąd inne wersje na heroku i u Ciebie.
(a zawsze powtarzamy nowym żeby nie robić railsów na windowsie…)
@sztosz, tylko że te błędy są o tyle stresujące, że tutorial jest prosty, taki prowadzący za rękę, a i tak nie działa. Napisano krok po kroku co należy zrobić, niby wszystko jest proste, kliknij tu, kliknij tam, i aplikacja zostanie wyświetlona. Człowiek powtarza po kolei wszystkie czynności, i nic.
A wystarczyłoby, aby autor napisał że w pliku Gemfile (tym konkretnym z tutoriala) należy umieścić odpowiednie wersje użytych gemów, a przy tworzeniu innych, własnych aplikacji, bardzo zwracać uwagę na to zagadnienie, bo różnice w wersjach gemów mogą skutkować nie działaniem aplikacji. Jedno takie powyższe zdanie w książce - i czytelnicy uniknęli by frustracji z powodu wywalenia się początkowej wersji tutorialowej aplikacji, niewiele większej niż “Hello World”.
@mentero i @michalmuskala , na razie wszystko “gra”. Po przygotowaniu takiego Gemfile
source "https://rubygems.org"
ruby '2.0.0'
gem 'sinatra', '1.4.5'
gem 'slim', '2.0.3'
gem 'sass', '3.4.3'
gem 'rack', '1.5.2'
gem 'tilt', '~> 1.4.1'
gem 'temple', '0.6.8'
aplikacja uruchomiła się bez problemu na Heroku. Ale coś czuję, że podobna “jazda” będzie wtedy gdy dodam gemy odpowiedzialne za SQlite, DataMapper, itd.
@mentero, o nie, na razie wolę zostać przy Windowsach. Linuxa czy jakieś inne takie rzeczy znam tylko z nazwy. Nie dam rady teraz nauczyć się ich, a na “wariata” nie chcę ich instalować, bo że wtedy komp pewnie wogóle mi nie uruchomi się.
Dziękuję wszystkim za pomoc!
@mentero: Z tym złym Windowsem to bym nie demonizował, mi jest prościej pobawić się z tym żeby Ruby działał bez fochów na Windowsie niż włączać wirtualkę za każdym razem jak chcę poprawić 3 linie kodu i sprawdzić czy działa przed wrzuceniem na serwer
@Merano: to może tutorial jest gorszy niż byś chciał. Ja tylko jeden tutorial i to nie cały przerobiłem https://www.railstutorial.org/ i tam akurat autor bardzo mocno zaznacza jak ważne może się okazać wpisanie dokładnie których wersji gemów ma używać aplikacja.
Nauka bez stresu krótko zostaje w pamięci. A tak na pewno będziesz pamiętał o tym czego się nauczyłeś. Lepiej się samemu z czymś pomęczyć niż mieć na tacy podane. Bo jak będziesz miał na tacy podane dlaczego coś robić to będziesz to robił, ale bez świadomości po co się to robi i jak czegoś nie robić.
Słuszne spostrzeżenia. Dzięki.
Na stronie np. https://rubygems.org/gems/sinatra jest taki zapis tilt >= 1.3.4, ~> 1.3
. Czyli tilt musi być większy-równy niż 1.3.4, ale nie mogę znaleźć informacji co oznacza symbol ~>
, czyli tu konkretnie ~> 1.3
? A co oznacza zapis gem gem 'sinatra', '~> 1.4.5'
? Równy? Nie mniejszy niż? Za wyjątkiem tej wersji?
Dzięki! Szukałem, szukałem, ale jakoś tego nie znalazłem w zalewie informacji. Teraz to jest jasne. Dzięki.
Ta przykładowa aplikacja wykorzystuje bazę SQLite, a w tutorialowym pliku Gemfile jest zapis
gem "dm-sqlite-adapter", :group => :development
. Do tej linii dodałem wersję gemu gem 'dm-sqlite-adapter', '1.2.0', :group => :development
, ale kiedy przyglądałem się komunikatom wyświetlanym w konsoli po uruchomieniu polecenia git push heroku master
okazało się, że dm-sqlite-adapter
wogóle nie jest instalowany! Oczywiście aplikacja nie działa, a w logach pojawia się komunikat
2014-09-13T15:14:39.565599+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/
dm-core-1.2.1/lib/dm-core/adapters.rb:163:in `require': cannot load such file -- dm-sqlite-adapter (LoadError)
Nic dziwnego że Heroku nie może go załadować, skoro go nie zainstalował. Ale jak go zmusić aby to zrobił?
Heroku nie wspiera SQLite. Ma to między innymi związek z tym, że SQLite to baza danych oparta na pliku, a na Heroku nie ma prawdziwego systemu plików. Polecam użycie PostgreSQL, najmniej kłopotów i najwięcej materiałów, jeśli chodzi o Heroku. Z tego co się orientuję jest też w miarę sensowny instalator na Windowsa (a tego chyba używasz).
Efemeryczny system plików (jak nazywa to samo Heroku) powoduje, że nie tylko nie można używać SQLite, ale również żaden upload plików nie jest możliwy bez zewnętrznego serwera. Pliki były by usuwane przy każdym restarcie, nie mówiąc już o tym, że każde dyno ma swój system plików. Pomiędzy kolejnymi buildami zachowywane jest tylko to, co w repo lub w zewnętrznych usługach - jaką jest baza danych.
To jest wszystko takie nowe i dziwne dla mnie…
Dzięki za wytłumaczenie.