Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 资产不会在生产中积累_Ruby_Ruby On Rails 4_Heroku_Sprockets - Fatal编程技术网

Ruby 资产不会在生产中积累

Ruby 资产不会在生产中积累,ruby,ruby-on-rails-4,heroku,sprockets,Ruby,Ruby On Rails 4,Heroku,Sprockets,我一直在尝试在生产中预编译资产,但它一直在崩溃 我试过了 RAILS_ENV=production rake assets:precompile 得到: I, [2016-06-22T15:59:02.648161 #1680] INFO -- : Writing /Users/johndoe/Documents/be/Chak/public/assets/application-3b7afc621ec8ef5d713fe45400021fdd80041418493b774e248da6

我一直在尝试在生产中预编译资产,但它一直在崩溃

我试过了

  RAILS_ENV=production rake assets:precompile
得到:

I, [2016-06-22T15:59:02.648161 #1680]  INFO -- : Writing /Users/johndoe/Documents/be/Chak/public/assets/application-3b7afc621ec8ef5d713fe45400021fdd80041418493b774e248da6a1fcfc4052.js
I, [2016-06-22T15:59:02.939980 #1680]  INFO -- : Writing /Users/johndoe/Documents/be/Chak/public/assets/application-3b7afc621ec8ef5d713fe45400021fdd80041418493b774e248da6a1fcfc4052.js.gz
rake aborted!
NoMethodError: undefined method `[]' for nil:NilClass

Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
JohnDoesMBP:Chak johndoe$ RAILS_ENV=production rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Execute assets:precompile
rake aborted!
NoMethodError: undefined method `[]' for nil:NilClass
/Users/johndoe/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sprockets-3.5.2/lib/sprockets/sass_processor.rb:278:in `sprockets_context'
/Users/johndoe/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sprockets-3.5.2/lib/sprockets/sass_processor.rb:124:in `asset_path'
/Users/johndoe/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sprockets-3.5.2/lib/sprockets/sass_processor.rb:200:in `font_path'
/Users/johndoe/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sass-3.4.21/lib/sass/script/tree/funcall.rb:140:in `_perform'
谁有主意,怎么了

我的production.rb文件如下所示:

config.serve_static_files = true
config.assets.js_compressor = :uglifier
config.assets.compile = true
config.assets.digest = true
config.log_level = :debug
任何帮助都将不胜感激。提前谢谢

档案:

ruby '2.2.2'
gem 'figaro', '~> 1.0.0'
gem 'rails_12factor', group: :production
gem 'puma'
gem 'nifty-generators', :group => :development
gem 'table_print'
gem 'omniauth-facebook'
gem 'omniauth-twitter'
gem 'omniauth-google'
gem 'devise'
gem 'devise_invitable'
gem 'carrierwave', :github => 'satoruk/carrierwave', :ref => '43179f94d6a4e62f69e812f5082d6447c9138480'
gem 'rmagick', require: false
gem 'rails', '4.2.4'
gem 'pg'
gem 'bootstrap-sass', '~> 3.3.6'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'activemerchant'
gem 'paypal-sdk-rest'
gem 'paypal-sdk-adaptivepayments'

group :development, :test do
  gem 'byebug'
  gem 'quiet_assets'
  gem 'pry-rails'
  gem 'thin'
end

group :development do
  gem 'web-console', '~> 2.0'
  gem 'spring'
end

如果您使用的是Heroku,您不需要预编译自己的资产,当您推送到服务器时,它将自动完成。

谢谢您的回答。我正在使用Heroku,所以我也不需要在本地进行预编译?我猜我也不需要添加您之前提到的行?事实上,Heroku也说过同样的话<代码>编译CSS资产时出错
无方法错误:未定义nil:nil类的方法“[]”
页面上的错误是
/app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.5.2/lib/sprockets/sass_processor.rb:278:在“sprockets_上下文”中
因此您还无法推送到heroku,当你第一次尝试将你的应用推送到heroku时,你会遇到这个错误?返回并确保所有.css文件都重命名为.scss