因此,通常在将应用程序部署到heroku时没有任何问题,但是,在这种特定情况下,我遇到了预编译失败的错误...
这行对我来说很突出:
remote: NoMethodError: undefined method `[]' for nil:NilClass
但是这里是完整的错误日志:
remote: Bundle completed (9.35s)
remote: Cleaning up the bundler cache.
remote: Removing carrierwave (0.10.0)
remote: Removing foreigner (1.7.4)
remote: Removing mailboxer (0.12.5)
remote: -----> Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: rake aborted!
remote: NoMethodError: undefined method `[]' for nil:NilClass
remote: (in /tmp/build_3dacd5df86a31726215c3dc3c1c22600/app/assets/stylesheets/application.css)
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/sass_functions.rb:63:in `sprockets_context'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-rails-4.0.5/lib/sass/rails/helpers.rb:23:in `asset_url'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/script/funcall.rb:113:in `_perform'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/script/node.rb:40:in `perform'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:298:in `visit_prop'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:37:in `visit'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:100:in `visit'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `block in visit_children'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `map'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `visit_children'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:109:in `block in visit_children'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:121:in `with_environment'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:108:in `visit_children'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:37:in `block in visit'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:356:in `visit_directive'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:37:in `visit'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:100:in `visit'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `block in visit_children'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `map'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `visit_children'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:109:in `block in visit_children'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:121:in `with_environment'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:108:in `visit_children'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:37:in `block in visit'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:128:in `visit_root'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:37:in `visit'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:100:in `visit'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:7:in `visit'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/tree/root_node.rb:20:in `render'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/engine.rb:315:in `_render'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sass-3.2.19/lib/sass/engine.rb:262:in `render'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/sass_compressor.rb:24:in `evaluate'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:197:in `block in evaluate'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:194:in `each'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:194:in `evaluate'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/bundled_asset.rb:25:in `initialize'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:377:in `new'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:377:in `build_asset'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:94:in `block in build_asset'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/caching.rb:58:in `cache_asset'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:93:in `build_asset'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:287:in `find_asset'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:61:in `find_asset'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:211:in `block in find_asset'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:257:in `benchmark'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:210:in `find_asset'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:119:in `block in compile'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:118:in `each'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:118:in `compile'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-2.3.1/lib/sprockets/rails/task.rb:70:in `block (3 levels) in define'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-2.12.3/lib/rake/sprocketstask.rb:146:in `with_logger'
remote: /tmp/build_3dacd5df86a31726215c3dc3c1c22600/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-2.3.1/lib/sprockets/rails/task.rb:69:in `block (2 levels) in define'
remote: Tasks: TOP => assets:precompile
remote: (See full trace by running task with --trace)
remote: !
remote: ! Precompiling assets failed.
remote: !
remote:
remote: ! Push rejected, failed to compile Ruby app
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to fakename-dev.
remote:
To [email protected]:fakename-dev.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:fakename-dev.git'
我做错了什么,该如何解决?
干杯!
这是交易,我们application.css
以某种方式忽略了.scss
预编译其他文件中的错误,因此我们在本地预编译了资产,但无法在heroku上预编译它们。
我决定重命名application.css
为application.css.scss
,现在当我运行assets:precompile
任务时,出现了与heroku相同的错误,这使我能够调查问题出在哪里。
这是一个缩小的bootstrap.css文件(来自设计师),我们团队中的开发人员决定通过缩进并更改字体路径来进行重构,而无需更改扩展名即可.scss
使用image-url
和asset-url
助手。.无论如何,我删除所有这些,并使用引导程序宝石修复了图标问题。
总结一下,添加.scss
到样式表中可以更快地找到预编译时出现问题的位置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句