繁体   English   中英

预编译麻烦。 尝试使用heroku部署Rails应用

[英]trouble with precompilation. trying to deploy a rails app with heroku

看到这个https://help.heroku.com/tickets/89264

基本上,我更新了config/environments/production.rb文件,并按照
这个建议https://devcenter.heroku.com/articles/rails-asset-pipeline#compiling-assets-locally ,但是它仍然不起作用。

我只是改变了
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) # config.assets.precompile += %w( search.js )

# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) config.assets.precompile += %w( home.css )

然后执行以下操作:

~/collegeanswerz >>  RAILS_ENV=production bundle exec rake assets:precompile
/Users/adamzerner/.rvm/rubies/ruby-1.9.3-p327/bin/ruby /Users/adamzerner/.rvm/gems/ruby-1.9.3- p327@rails3tutorial2ndEd/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
~/collegeanswerz >>  git add public/assets
~/collegeanswerz >>  git commit -m "vendor compiled assets 2"
[master 23fa523] vendor compiled assets 2
 9 files changed, 4 insertions(+)
 create mode 100644 public/assets/home-73d942132cfdcc305dabf385494f8201.css
 create mode 100644 public/assets/home-73d942132cfdcc305dabf385494f8201.css.gz
 create mode 100644 public/assets/home.css
 create mode 100644 public/assets/home.css.gz
~/collegeanswerz >>  git push heroku master
Counting objects: 20, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (12/12), 2.30 KiB, done.
Total 12 (delta 9), reused 0 (delta 0)

-----> Removing .DS_Store files
-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using Bundler version 1.3.2
   Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
   Using rake (10.0.4)
   Using i18n (0.6.1)
   Using multi_json (1.7.3)
   Using activesupport (3.2.13)
   Using builder (3.0.4)
   Using activemodel (3.2.13)
   Using erubis (2.7.0)
   Using journey (1.0.4)
   Using rack (1.4.5)
   Using rack-cache (1.2)
   Using rack-test (0.6.2)
   Using hike (1.2.2)
   Using tilt (1.4.1)
   Using sprockets (2.2.2)
   Using actionpack (3.2.13)
   Using mime-types (1.23)
   Using polyglot (0.3.3)
   Using treetop (1.4.12)
   Using mail (2.5.3)
   Using actionmailer (3.2.13)
   Using arel (3.0.2)
   Using tzinfo (0.3.37)
   Using activerecord (3.2.13)
   Using activeresource (3.2.13)
   Using coffee-script-source (1.6.2)
   Using execjs (1.4.0)
   Using coffee-script (2.2.0)
   Using rack-ssl (1.3.3)
   Using json (1.7.7)
   Using rdoc (3.12.2)
   Using thor (0.18.1)
   Using railties (3.2.13)
   Using coffee-rails (3.2.2)
   Using dynamic_form (1.1.4)
   Using jquery-rails (2.2.1)
   Using pg (0.12.2)
   Using bundler (1.3.2)
   Using rails (3.2.13)
   Using sass (3.2.9)
   Using sass-rails (3.2.6)
   Using uglifier (2.1.0)
   Your bundle is complete! It was installed into ./vendor/bundle
   Cleaning up the bundler cache.
-----> Writing config/database.yml to read from DATABASE_URL
-----> Preparing app for Rails asset pipeline
   Detected manifest.yml, assuming assets were compiled locally
-----> WARNINGS:
   you have not declared a Ruby version in your Gemfile.
   To set your Ruby version add this line to your Gemfile:"
   ruby '1.9.3'"
   # See https://devcenter.heroku.com/articles/ruby-versions for more information."
-----> Rails plugin injection
   Injecting rails_log_stdout
   Injecting rails3_serve_static_assets
-----> Discovering process types
   Procfile declares types      -> (none)
   Default types for Ruby/Rails -> console, rake, web, worker

-----> Compiled slug size: 20.1MB
-----> Launching... done, v9
   http://fast-reaches-9399.herokuapp.com deployed to Heroku

To git@heroku.com:fast-reaches-9399.git
   28772c1..23fa523  master -> master
~/collegeanswerz >>  heroku open
Opening fast-reaches-9399... done  

但我仍然遇到同样的500错误。

谁能帮我这个? 我渴望部署,但无法弄清楚自己在做什么错。 我通过https://devcenter.heroku.com/articles/rails-asset-pipeline#compiling-assets-locallyhttp://guides.rubyonrails.org/asset_pipeline.html阅读,但我仍然不知道出了什么问题。 任何帮助,将不胜感激。 谢谢。

编辑:我只添加了home.css到config/environments/production.rb 我虽然有其他CSS文件和JavaScript文件。 我需要将它们与home.css一起添加吗? 我对需要添加到此文件中的内容和不需要添加的内容感到困惑。

Heroku日志:

~/collegeanswerz >>  heroku logs
2013-06-21T18:09:38.400164+00:00 app[web.1]: => Call with -d to detach
2013-06-21T18:09:38.400164+00:00 app[web.1]: => Ctrl-C to shutdown server
2013-06-21T18:09:38.400164+00:00 app[web.1]: Connecting to database specified by DATABASE_URL
2013-06-21T18:09:41.816038+00:00 app[web.1]: [2013-06-21 18:09:41] INFO  WEBrick::HTTPServer#start: pid=2 port=37598
2013-06-21T18:09:41.806086+00:00 app[web.1]: [2013-06-21 18:09:41] INFO  WEBrick 1.3.1
2013-06-21T18:09:41.806250+00:00 app[web.1]: [2013-06-21 18:09:41] INFO  ruby 1.9.3 (2013-05-15) [x86_64-linux]
2013-06-21T18:09:41.846306+00:00 heroku[web.1]: State changed from starting to up
2013-06-21T18:09:42.983092+00:00 app[web.1]: Started GET "/" for 150.212.44.53 at 2013-06-21 18:09:42 +0000
2013-06-21T18:09:43.796440+00:00 app[web.1]: Processing by StaticPagesController#home as HTML
2013-06-21T18:09:43.918982+00:00 app[web.1]:   Rendered static_pages/home.html.erb within layouts/application (26.0ms)
2013-06-21T18:09:43.926737+00:00 app[web.1]:   app/views/static_pages/home.html.erb:1:in `_app_views_static_pages_home_html_erb___725405358529282062_26831120'
2013-06-21T18:09:43.919413+00:00 app[web.1]: Completed 500 Internal Server Error in 121ms
2013-06-21T18:09:43.926737+00:00 app[web.1]: 
2013-06-21T18:09:43.926737+00:00 app[web.1]: ActionView::Template::Error (home.css isn't precompiled):
2013-06-21T18:09:43.926737+00:00 app[web.1]:     1: <%= stylesheet_link_tag    "home", :media => "all" %>
2013-06-21T18:09:43.926737+00:00 app[web.1]:     2: <%= javascript_include_tag :application %>
2013-06-21T18:09:43.926737+00:00 app[web.1]:     3: <% provide(:title, 'CollegeANSWERZ') %>
2013-06-21T18:09:43.926737+00:00 app[web.1]:     4: 
2013-06-21T18:09:43.926737+00:00 app[web.1]: 
2013-06-21T18:09:43.926737+00:00 app[web.1]: 
2013-06-21T18:09:43.930798+00:00 heroku[router]: at=info method=GET path=/ host=fast-reaches-9399.herokuapp.com fwd="150.212.44.53" dyno=web.1 connect=9ms service=997ms status=500 bytes=643
2013-06-21T18:10:43.120112+00:00 app[web.1]: Completed 500 Internal Server Error in 2ms
2013-06-21T18:10:43.119811+00:00 app[web.1]:   Rendered static_pages/home.html.erb within layouts/application (0.8ms)
2013-06-21T18:10:43.109481+00:00 app[web.1]: Started GET "/" for 130.49.162.173 at 2013-06-21 18:10:43 +0000
2013-06-21T18:10:43.115024+00:00 app[web.1]: Processing by StaticPagesController#home as HTML
2013-06-21T18:10:43.163822+00:00 heroku[router]: at=info method=GET path=/ host=fast-reaches-9399.herokuapp.com fwd="130.49.162.173" dyno=web.1 connect=1ms service=65ms status=500 bytes=643
2013-06-21T18:10:43.159816+00:00 app[web.1]:     4: 
2013-06-21T18:10:43.159816+00:00 app[web.1]:   app/views/static_pages/home.html.erb:1:in `_app_views_static_pages_home_html_erb___725405358529282062_26831120'
2013-06-21T18:10:43.159816+00:00 app[web.1]:     3: <% provide(:title, 'CollegeANSWERZ') %>
2013-06-21T18:10:43.159816+00:00 app[web.1]: ActionView::Template::Error (home.css isn't precompiled):
2013-06-21T18:10:43.159816+00:00 app[web.1]: 
2013-06-21T18:10:43.159816+00:00 app[web.1]: 
2013-06-21T18:10:43.159816+00:00 app[web.1]:     1: <%= stylesheet_link_tag    "home", :media => "all" %>
2013-06-21T18:10:43.159816+00:00 app[web.1]: 
2013-06-21T18:10:43.159816+00:00 app[web.1]:     2: <%= javascript_include_tag :application %>
2013-06-21T18:10:43.284647+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=fast-reaches-9399.herokuapp.com fwd="130.49.162.173" dyno=web.1 connect=2ms service=14ms status=200 bytes=0
2013-06-21T18:31:38.978118+00:00 app[web.1]: Started GET "/" for 150.212.67.168 at 2013-06-21 18:31:38 +0000
2013-06-21T18:31:38.988162+00:00 app[web.1]: ActionView::Template::Error (home.css isn't precompiled):
2013-06-21T18:31:38.981955+00:00 app[web.1]: Processing by StaticPagesController#home as HTML
2013-06-21T18:31:38.983438+00:00 app[web.1]:   Rendered static_pages/home.html.erb within layouts/application (0.7ms)
2013-06-21T18:31:38.984407+00:00 app[web.1]: Completed 500 Internal Server Error in 2ms
2013-06-21T18:31:38.988162+00:00 app[web.1]: 
2013-06-21T18:31:38.988162+00:00 app[web.1]:     1: <%= stylesheet_link_tag    "home", :media => "all" %>
2013-06-21T18:31:38.988162+00:00 app[web.1]:     2: <%= javascript_include_tag :application %>
2013-06-21T18:31:38.976788+00:00 heroku[router]: at=info method=GET path=/ host=fast-reaches-9399.herokuapp.com fwd="150.212.67.168" dyno=web.1 connect=2ms service=23ms status=500 bytes=643
2013-06-21T18:31:38.988162+00:00 app[web.1]:     3: <% provide(:title, 'CollegeANSWERZ') %>
2013-06-21T18:31:38.988162+00:00 app[web.1]:     4: 
2013-06-21T18:31:38.988162+00:00 app[web.1]:   app/views/static_pages/home.html.erb:1:in `_app_views_static_pages_home_html_erb___725405358529282062_26831120'
2013-06-21T18:31:38.988162+00:00 app[web.1]: 
2013-06-21T18:31:38.988162+00:00 app[web.1]: 
2013-06-21T18:31:39.272322+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=fast-reaches-9399.herokuapp.com fwd="150.212.67.168" dyno=web.1 connect=1ms service=14ms status=200 bytes=0
2013-06-21T19:34:46.968884+00:00 heroku[web.1]: Idling
2013-06-21T19:34:51.384909+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2013-06-21T19:34:52.554631+00:00 app[web.1]: [2013-06-21 19:34:52] ERROR SignalException: SIGTERM
2013-06-21T19:34:52.554631+00:00 app[web.1]:    /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/server.rb:98:in `select'
2013-06-21T19:35:01.380745+00:00 heroku[web.1]: Error R12 (Exit timeout) -> At least one process failed to exit within 10 seconds of SIGTERM
2013-06-21T19:35:01.381015+00:00 heroku[web.1]: Stopping remaining processes with SIGKILL
2013-06-21T19:35:04.641711+00:00 heroku[web.1]: State changed from up to down
2013-06-21T19:35:04.615493+00:00 heroku[web.1]: Process exited with status 137
2013-06-22T01:19:15.580026+00:00 heroku[api]: Deploy 23fa523 by arz21@pitt.edu
2013-06-22T01:19:15.610236+00:00 heroku[api]
: Release v9 created by arz21@pitt.edu
2013-06-22T01:19:15.645481+00:00 heroku[api]: Deploy 23fa523 by arz21@pitt.edu
2013-06-22T01:19:15.812011+00:00 heroku[web.1]: State changed from down to starting
2013-06-22T01:19:19.358919+00:00 heroku[web.1]: Starting process with command `bundle exec rails server -p 16312`
2013-06-22T01:19:24.227544+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-06-22T01:19:24.227544+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-06-22T01:19:26.887652+00:00 app[web.1]: => Ctrl-C to shutdown server
2013-06-22T01:19:26.887652+00:00 app[web.1]: => Booting WEBrick
2013-06-22T01:19:26.887652+00:00 app[web.1]: => Rails 3.2.13 application starting in production on http://0.0.0.0:16312
2013-06-22T01:19:26.887652+00:00 app[web.1]: => Call with -d to detach
2013-06-22T01:19:26.887652+00:00 app[web.1]: Connecting to database specified by DATABASE_URL
2013-06-22T01:19:27.090788+00:00 app[web.1]: [2013-06-22 01:19:27] INFO  WEBrick 1.3.1
2013-06-22T01:19:27.091334+00:00 app[web.1]: [2013-06-22 01:19:27] INFO  WEBrick::HTTPServer#start: pid=2 port=16312
2013-06-22T01:19:27.090788+00:00 app[web.1]: [2013-06-22 01:19:27] INFO  ruby 1.9.3 (2013-05-15) [x86_64-linux]
2013-06-22T01:19:27.339684+00:00 heroku[web.1]: State changed from starting to up
2013-06-22T01:19:30.066268+00:00 app[web.1]: Started GET "/" for 24.131.255.163 at 2013-06-22 01:19:30 +0000
2013-06-22T01:19:30.468648+00:00 app[web.1]: Processing by StaticPagesController#home as HTML
2013-06-22T01:19:30.537004+00:00 heroku[router]: at=info method=GET path=/ host=fast-reaches-9399.herokuapp.com fwd="24.131.255.163" dyno=web.1 connect=1ms service=488ms status=500 bytes=643
2013-06-22T01:19:30.525930+00:00 app[web.1]:   Rendered static_pages/home.html.erb within layouts/application (8.3ms)
2013-06-22T01:19:30.537856+00:00 app[web.1]: 
2013-06-22T01:19:30.537856+00:00 app[web.1]: ActionView::Template::Error (layout.css isn't precompiled):
2013-06-22T01:19:30.537856+00:00 app[web.1]:     2: <html>
2013-06-22T01:19:30.537856+00:00 app[web.1]:     7:   <%= csrf_meta_tags %>
2013-06-22T01:19:30.532648+00:00 app[web.1]: Completed 500 Internal Server Error in 64ms
2013-06-22T01:19:30.537856+00:00 app[web.1]:   app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb___1612393333745609223_32479780'
2013-06-22T01:19:30.538131+00:00 app[web.1]: 
2013-06-22T01:19:30.537856+00:00 app[web.1]:     8: </head>
2013-06-22T01:19:30.538131+00:00 app[web.1]: 
2013-06-22T01:19:30.537856+00:00 app[web.1]:     3: <head>
2013-06-22T01:19:30.537856+00:00 app[web.1]:     4:   <title><%= yield(:title) %></title>
2013-06-22T01:19:30.537856+00:00 app[web.1]:     5:   <%= stylesheet_link_tag    "layout", :media => "all" %>
2013-06-22T01:19:30.537856+00:00 app[web.1]:     6:   <%= javascript_include_tag "application" %>
2013-06-22T01:19:31.142918+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=fast-reaches-9399.herokuapp.com fwd="24.131.255.163" dyno=web.1 connect=1ms service=48ms status=200 bytes=0
2013-06-22T02:25:29.121546+00:00 heroku[web.1]: Idling
2013-06-22T02:25:34.186899+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2013-06-22T02:25:35.206762+00:00 app[web.1]:    /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/server.rb:98:in `select'
2013-06-22T02:25:35.206762+00:00 app[web.1]: [2013-06-22 02:25:35] ERROR SignalException: SIGTERM
2013-06-22T02:25:43.540073+00:00 heroku[web.1]: Error R12 (Exit timeout) -> At least one process failed to exit within 10 seconds of SIGTERM
2013-06-22T02:25:43.540320+00:00 heroku[web.1]: Stopping remaining processes with SIGKILL
2013-06-22T02:25:46.353635+00:00 heroku[web.1]: State changed from up to down
2013-06-22T02:25:46.337936+00:00 heroku[web.1]: Process exited with status 137
~/collegeanswerz >>  

现在,我看到了您的日志,我四处张望了,您不是唯一遇到这种情况的人。 尝试使用以下命令删除本地编译的资产: git rm -r public/assets然后推送至heroku。 保留对production.rb所做的更改。

我在StackOverflow上看到了您的帖子,很棒! 我喜欢看到人们在社区中互相帮助。 您还记得上次造成问题的原因吗? 它是:

ActionView :: Template :: Error(未预编译home.css):并且您需要将home.css添加到config / environments / production.rb。 您需要告诉production.rb您需要home.css。 您需要告诉您需要除application.css以外的其他CSS文件。

现在,部署后您在日志中看到什么错误?

ActionView :: Template :: Error(layout.css未预编译):知道了吗? 现在,您还需要添加layout.css。 您可以像这样简单地添加:

%w(home.css layout.css)再次,您需要将除了application.css之外的所有其他CSS添加到config / environments / production.rb中。 如果除了application.js之外,还需要添加一些js文件,则还需要添加到config / environments / production.rb。 我可以看到,您需要在应用程序中添加很多CSS文件(例如,对于CSS来说,为college_pages,论文,about_college等,对于js为about_college)。 读取日志是调试和编程的第一步。 日志总是告诉您一些信息(如果没有日志,我将无法指出您的问题!)。 很抱歉,我没有告诉您如何查看日志(似乎您不知道该如何做)。

这是读取日志的用法:

用法:heroku日志

显示最近的日志输出

-n,--num NUM#显示的行数-p,--ps PS#仅显示给定进程的日志-s,--source SOURCE#仅显示给定源的日志-t,--tail #持续流式传输日志

例:

$ heroku日志2012-01-01T12:00:00 + 00:00 heroku [api]:配置通过email@example.com添加示例2012-01-01T12:00:01 + 00:00 heroku [api]:版本v1您可以执行heroku logs -n 100之类的操作来查看最近的100行日志。

希望这会有所帮助,惠子


非常感谢你的帮助! 我知道您有点超出您的责任,对此我深表感谢。

我将所有其他css和js文件添加到production.rb中,并成功部署! 我感到困惑的原因是我没有意识到我必须将所有这些都包含在production.rb中。 我出于某种原因认为application.css和application.js做到了这一点,所以我不必这样做,并且出于某种原因,我认为home.css是个例外。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM