【问题标题】:Problems with asset precompile after updating to Rails 4更新到 Rails 4 后资产预编译的问题
【发布时间】:2013-05-23 04:12:44
【问题描述】:

我正在将 Rails 应用程序从 3.2.12 更新到 4.0.0.beta1。我遇到了一些小问题,但我可以让应用程序运行并且所有测试都再次通过。问题是当我尝试预编译所有资产以进行部署时,出现以下错误:

vagrant@precise64:/vagrant$ RAILS_ENV=production bundle exec rake assets:precompile
rake aborted!
No such file to load -- bootstrap_flash_helper
/vagrant/config/environment.rb:5:in `<top (required)>'
Tasks: TOP => environment
(See full trace by running task with --trace)

这是我的 Gemfile:

source 'https://rubygems.org'

gem 'rails', '4.0.0.beta1'

gem 'pg'
gem 'github_api'
gem 'haml-rails'
gem 'jquery-rails'
gem 'simple_form', github: 'plataformatec/simple_form'
gem 'devise', github: 'plataformatec/devise', branch: 'rails4'
gem 'omniauth'
gem 'omniauth-github'
gem 'rails-backbone', '~> 0.9.10'
gem 'inherited_resources'
gem 'app_configuration'
gem 'unicorn'
gem 'foreman'
gem 'coveralls', require: false

group :assets do
  gem 'sprockets-rails',  github: 'rails/sprockets-rails'
  gem 'coffee-rails',     github: 'rails/coffee-rails'
  gem 'therubyracer',     platforms: :ruby
  gem 'less-rails',       github: 'metaskills/less-rails'
  gem 'twitter-bootstrap-rails'
  gem 'uglifier', '>= 1.0.3'
end

group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'meta_request'
end

group :test, :development do
  # Debugging
  gem 'pry'
  gem 'debugger'
  gem 'debugger-pry'
  gem 'pry-nav'
  gem 'pry-stack_explorer'

  # Testing
  gem 'timecop'
  gem 'rspec-rails'
  gem 'shoulda-matchers'
  gem 'factory_girl_rails'
  gem 'faker'
  # gem 'cucumber-rails', '~>1.3.0', :require => false
  gem 'database_cleaner', github: 'bmabey/database_cleaner'
end

项目是开源的(正在进行中),这里是github仓库https://github.com/wolox/mgmt

知道我错过了什么吗?

谢谢

【问题讨论】:

    标签: ruby-on-rails sprockets


    【解决方案1】:

    我遇到了类似的问题,然后我发现 group :assets 不再存在。克隆您的存储库后,我从您的 Gemfile 中删除了 group :assets,然后您的资产预编译好了!

    【讨论】:

      【解决方案2】:

      :assets 组默认不会加载到 production 环境中,您可以在 config/application.rb 中更改此设置(在您的 repo 中为https://github.com/Wolox/mgmt/blob/master/config/application.rb#L7

      建议的做法是在开发中编译您的资产,然后在您满意之后将 /public/assets 目录推送到生产环境。

      改用这条线,你应该没问题:

      RAILS_ENV=development bundle exec rake assets:precompile
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-06
        • 2014-06-27
        • 1970-01-01
        • 1970-01-01
        • 2013-07-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多