蓝图 css 中的资源预编译错误 - ActionView::Template::Error (blueprint/screen.css 未预编译) - 内部服务器错误 500

2024-01-10

我正在尝试部署 Rails 应用程序,但遇到了资产预编译错误。根据生产日志,该错误是由名为 screen.css 的“蓝图”CSS 脚本引起的(如您在下面的错误输出中看到的)。然而,根据生产日志,该资产实际上确实是经过预编译的。我尝试将 screen.css 和 print.css 显式添加到预编译数组中,在 application.rb 和 config/environments/production.rb 文件中,如下所示

config.assets.precompile = %w(screen.css print.css)

但无济于事。我还尝试在本地预编译我的资产并将整个内容推送到服务器。我已经尝试过这里列出的所有建议:blueprint/screen.css 未预编译 https://stackoverflow.com/questions/7443536/blueprint-screen-css-isnt-precompiled和这里:蓝图 CSS Rails 3.1 帮助 https://stackoverflow.com/questions/7300532/blueprint-css-rails-3-1-help同样的问题在这里仍未解决:Ruby on Rails 3.2 编译资源无法正常工作 https://stackoverflow.com/questions/9105027/ruby-on-rails-3-2-compiled-assets-are-not-working

我不知道接下来要尝试什么来解决此错误。任何帮助将不胜感激!下面是日志输出以及我的部署文件、cap 文件和 application.rb 文件。预先感谢您提出的任何建议!

以下是部署后日志文件的一些输出,您可以在其中看到 screen.css 已预编译。错误输出如下:

Compiled application.js  (5ms)  (pid 16431)
Compiled jquery.js  (2ms)  (pid 16431)
Compiled jquery_ujs.js  (0ms)  (pid 16431)
Compiled microposts.js  (94ms)  (pid 16431)
Compiled pages.js  (1ms)  (pid 16431)
Compiled sessions.js  (0ms)  (pid 16431)
Compiled users.js  (0ms)  (pid 16431)
Compiled application.css  (17ms)  (pid 16431)
Compiled blueprint/ie.css  (0ms)  (pid 16431)
Compiled blueprint/plugins/buttons/screen.css  (0ms)  (pid 16431)
Compiled blueprint/plugins/fancy-type/screen.css  (0ms)  (pid 16431)
Compiled blueprint/plugins/link-icons/screen.css  (0ms)  (pid 16431)
Compiled blueprint/plugins/rtl/screen.css  (0ms)  (pid 16431)
Compiled blueprint/print.css  (0ms)  (pid 16431)
Compiled blueprint/screen.css  (0ms)  (pid 16431)
Compiled blueprint/src/forms.css  (0ms)  (pid 16431)
Compiled blueprint/src/grid.css  (0ms)  (pid 16431)
Compiled blueprint/src/ie.css  (0ms)  (pid 16431)
Compiled blueprint/src/print.css  (0ms)  (pid 16431)
Compiled blueprint/src/reset.css  (0ms)  (pid 16431)
Compiled blueprint/src/typography.css  (0ms)  (pid 16431)
Compiled custom.css  (0ms)  (pid 16431)
Compiled microposts.css  (13ms)  (pid 16431)
Compiled pages.css  (1ms)  (pid 16431)
Compiled scaffolds.css  (15ms)  (pid 16431)
Compiled sessions.css  (1ms)  (pid 16431)
Compiled users.css  (1ms)  (pid 16431)

Started GET "/" for 12.13.14.15 at 2012-04-05 14:15:50 -0700
Processing by PagesController#home as HTML
Rendered pages/home.html.erb within layouts/application (1.1ms)
Rendered layouts/_stylesheets.html.erb (1.3ms)
Completed 500 Internal Server Error in 6ms

ActionView::Template::Error (blueprint/screen.css isn't precompiled):
    1: <!--[if lt IE9]>
    2: <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    3: <![endif]-->
    4: <%= stylesheet_link_tag 'blueprint/screen', :media => 'screen' %>
    5: <%= stylesheet_link_tag 'blueprint/print', :media => 'print' %>
    6: <!--[if lt IE 8]><%= stylesheet_link_tag 'blueprint/ie' %><![endif]-->
    7: <%= stylesheet_link_tag 'custom', :media => 'screen' %>
  app/views/layouts/_stylesheets.html.erb:4:in `_app_views_layouts__stylesheets_html_erb___2010157553399413981_33056460'
  app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb__4294160261947576619_31749320'

这是部署文件:

$:.unshift(File.expand_path('./lib', ENV['rvm_path'])) # Add RVM's lib directory to the load path.
require "rvm/capistrano"                  # Load RVM's capistrano plugin.
require "bundler/capistrano"

set :application, "Project"

set :scm, "git"
set :repository,  "ssh://server.example.ca/usr/local/git_root/project.git"
set :user, "deploy"

#set :rvm_bin_path, "/usr/local/rvm/bin"
set :rvm_ruby_string, "ruby-1.9.2-p290@project"
set :normalize_asset_timestamps, false

ssh_options[:forward_agent] = true

set :branch, "master"

set :deploy_via, :remote_cache

# If you aren't deploying to /u/apps/#{application} on the target
# servers (which is the default), you can specify the actual location
# via the :deploy_to variable:
set :deploy_to, "/usr/local/www/sites/project.example.ca/"

set :use_sudo, false

set :domain, 'project.example.ca'

role :app, domain
role :web, domain
role :db,  domain, :primary => true

before "deploy:symlink", "assets:precompile"

namespace :assets do
  desc "Compile assets"
  task :precompile, :roles => :app do
    run "cd #{release_path} && bundle exec rake RAILS_ENV=#{rails_env} assets:precompile"
  end
end

这是我的文件:

load 'deploy' if respond_to?(:namespace) # cap2 differentiator
Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
load 'config/deploy'
load 'deploy/assets'

这是 application.rb 配置文件:

require File.expand_path('../boot', __FILE__)

require 'rails/all'

if defined?(Bundler)
  # If you precompile assets before deploying to production, use this line
  Bundler.require(*Rails.groups(:assets => %w(development test)))
  # If you want your assets lazily compiled in production, use this line
  # Bundler.require(:default, :assets, Rails.env)
end

module Arbiterapi
  class Application < Rails::Application

    # Configure the default encoding used in templates for Ruby 1.9.
    config.encoding = "utf-8"

    # Configure sensitive parameters which will be filtered from the log file.
    config.filter_parameters += [:password]

    # Enable the asset pipeline
    config.assets.enabled = true

    # Version of your assets, change this if you want to expire all your assets
    config.assets.version = '1.0'

    # Precompile problem assets
    config.assets.precompile = %w(screen.css print.css)

  end
end

我遇到了同样的问题。但事实证明我丢失的资产被编译到 application.js 中(因为它合并了所有文件),所以我只需删除对特定文件的引用(在我的例子中是 webcam.js )。

您的文件被合并到 application.css 等中...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝图 css 中的资源预编译错误 - ActionView::Template::Error (blueprint/screen.css 未预编译) - 内部服务器错误 500 的相关文章

随机推荐