rails 3.1部署在heroku .css上没有预编译错误 [英] rails 3.1 deployment on heroku .css isn't precompiled error

查看:125
本文介绍了rails 3.1部署在heroku .css上没有预编译错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

更新



我得到这个错误是因为我有一个public.css和public.js文件,没有编译剩余的.css和.js文件。解决方法是将此行添加到production.rb文件中。

 #预编译附加资产(application.js,application.css,并且所有非JS / CSS已经被添加)
config.assets.precompile + =%w(public.js public.css)

正如您从注释中看到的,所有文件名称应用程序都已添加。所以,我只需要添加那些不被称为应用程序的那些。



希望它可以帮助别人!



原始问题



我有这个gem文件

  gem'rails','3.1.0'

group:production do
gem'pg'
end
group:development,:test do
gem'sqlite3'
end

gem'heroku'
gem'thin'
gem'sass-rails',〜> 3.1.0
gem'coffee-rails',〜> ; 3.1.0
gem'tabulous'
gem'json'
gempaperclip,〜> 2.4
gemdevise
gem redcarpet

组:资产do

gem'uglifier'
结束

gem'jquery-rails'

gemrspec-rails,:group => [:test,:development]
group:test do
end

when我使用git push heroku master进行部署

 为Rails资产管道准备应用程序
运行:rake资产:预编译
mkdir -p / tmp / build_2m34y4hj01m4o / public / assets
mkdir -p / tmp / build_2m34y4hj01m4o / public / assets
mkdir -p / tmp / build_2m34y4hj01m4o / public / assets
mkdir -p / tmp / build_2m34y4hj01m4o / public / assets / admin
mkdir -p / tmp / build_2m34y4hj01m4o / public / assets / admin
-----> Rails插件注入
注入rails_log_stdout
注入rails3_serve_static_assets
----->发现过程类型
Procfile声明类型 - > (无)
Ruby / Rails的默认类型 - >控制台,耙子,网络,工人
----->编译的段塞大小为31.2MB
----->启动完成,v5
http://maktaba.herokuapp.com部署到Heroku



<但在heroku日志中,我得到了这个ActionView :: Template :: Error。 css不是预编译的
奇怪的..我想看看部署反馈


  2011-11-23T22 :59:48 + 00:00 app [web.1]:在布局/首次(0.7ms)内呈现public / index.html.erb 
2011-11-23T22:59:48 + 00:00 app [ web.1]:在30ms内完成500次内部服务器错误
2011-11-23T22:59:48 + 00:00 app [web.1]:
2011-11-23T22:59:48+ 00:00 app [web.1]:ActionView :: Template :: Error(public / public.css未预编译):
2011-11-23T22:59:48 + 00:00 app [web。 1]:2:< html>
2011-11-23T22:59:48 + 00:00 app [web.1]:3:< head>
2011-11-23T22:59:48 + 00:00 app [web.1]:4:< title> Maktaba< / title>
2011-11-23T22:59:48 + 00:00 app [web.1]:5:<%= stylesheet_link_tagpublic / public%>
2011-11-23T22:59:48 + 00:00 app [web.1]:6:<%= javascript_include_tagpublic / public%>
2011-11-23T22:59:48 + 00:00 app [web.1]:7:<%= csrf_meta_tags%>
2011-11-23T22:59:48 + 00:00 app [web.1]:8:<%= csrf_meta_tags%>
2011-11-23T22:59:48 + 00:00 app [web.1]:app / views / public / index.html.erb:5:in _app_views_public_index_html_erb___1726244208117637261_45234420'
2011-11- 23T22:59:48 + 00:00 app [web.1]:app / controllers / public_controller.rb:13:在'block(2 levels)in index'
2011-11-23T22:59:48+ 00:00 app [web.1]:
2011-11-23T22:59:48 + 00:00 app [web.1]:app / controllers / public_controller.rb:12:在'index'

您是否可以看到我在做什么错?

解决方案


  • 在您的本地代码中运行 bundle exec rake assets:precompile $ b
  • 提交更改并部署到heroku



如果这是您第一次将应用程序部署到heroku,此后解决更多的错误。让我知道发生什么事。

Update

I got this error because I had a public.css and public.js file that was not compiled with the rest of the .css and .js files. The solution was to add this line to the production.rb file

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

As you see from the comment all files names application are already added. So, I just had to add the ones that was not called application.

Hope it helps someone!

Original question

I have this gem file

gem 'rails', '3.1.0'

group :production do
  gem 'pg'
end
group :development, :test do
  gem 'sqlite3'
end

gem "heroku"
gem 'thin'
gem 'sass-rails', "  ~> 3.1.0"
gem 'coffee-rails', "~> 3.1.0"
gem 'tabulous'
gem 'json'
gem "paperclip", "~> 2.4"
gem "devise"
gem "redcarpet"

group :assets do

  gem 'uglifier'
end

gem 'jquery-rails'

gem "rspec-rails", :group => [:test, :development]
group :test do
end

when I deploy with "git push heroku master" I see this

Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       mkdir -p /tmp/build_2m34y4hj01m4o/public/assets
       mkdir -p /tmp/build_2m34y4hj01m4o/public/assets
       mkdir -p /tmp/build_2m34y4hj01m4o/public/assets
       mkdir -p /tmp/build_2m34y4hj01m4o/public/assets/admin
       mkdir -p /tmp/build_2m34y4hj01m4o/public/assets/admin
-----> 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 is 31.2MB
-----> Launching... done, v5
       http://maktaba.herokuapp.com deployed to Heroku

but in the heroku logs I get this ActionView::Template::Error. css isn't precompiled Strange.. I thougt it was looking at the deployment feedback

2011-11-23T22:59:48+00:00 app[web.1]: Rendered public/index.html.erb within layouts/first (0.7ms)
2011-11-23T22:59:48+00:00 app[web.1]: Completed 500 Internal Server Error in 30ms
2011-11-23T22:59:48+00:00 app[web.1]:
2011-11-23T22:59:48+00:00 app[web.1]: ActionView::Template::Error (public/public.css isn't precompiled):
2011-11-23T22:59:48+00:00 app[web.1]:     2: <html>
2011-11-23T22:59:48+00:00 app[web.1]:     3: <head>
2011-11-23T22:59:48+00:00 app[web.1]:     4:   <title>Maktaba</title>
2011-11-23T22:59:48+00:00 app[web.1]:     5:   <%= stylesheet_link_tag    "public/public" %>
2011-11-23T22:59:48+00:00 app[web.1]:     6:   <%= javascript_include_tag "public/public" %>
2011-11-23T22:59:48+00:00 app[web.1]:     7:   <%= csrf_meta_tags %>
2011-11-23T22:59:48+00:00 app[web.1]:     8:   <%= csrf_meta_tags %>
2011-11-23T22:59:48+00:00 app[web.1]:   app/views/public/index.html.erb:5:in `_app_views_public_index_html_erb___1726244208117637261_45234420'
2011-11-23T22:59:48+00:00 app[web.1]:   app/controllers/public_controller.rb:13:in `block (2 levels) in index'
2011-11-23T22:59:48+00:00 app[web.1]:
2011-11-23T22:59:48+00:00 app[web.1]:   app/controllers/public_controller.rb:12:in `index'

Can any of you see what I am doing wrong?

解决方案

  • Run bundle exec rake assets:precompile on your local code
  • Commit the changes and deploy to heroku

If this is your first time deploying your app to heroku, you may experience more errors after this is resolved. Let me know what happens.

这篇关于rails 3.1部署在heroku .css上没有预编译错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆