【发布时间】:2017-01-14 11:34:16
【问题描述】:
我正在尝试将我的项目投入生产,
试图
RAILS_ENV=production bundle exec rake assets:precompile
给我一个错误,但没有指定它在哪个文件中。
rake aborted!
Sass::SyntaxError: Invalid CSS after "}": expected selector or at-rule, was "}"
(sass):89
/Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/scss/parser.rb:1207:in `expected'
/Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/scss/parser.rb:1137:in `expected'
/Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/scss/parser.rb:42:in `parse'
/Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/engine.rb:406:in `_to_tree'
/Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/engine.rb:281:in `render'
/Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/sass_compressor.rb:48:in `call'
/Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/sass_compressor.rb:28:in `call'
/Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:75:in `call_processor'
/Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
/Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in `reverse_each'
如何找出错误发生在哪个文件中? 即使使用 --trace 它也不会告诉我。
【问题讨论】:
-
之前,我遇到了同样的 js 语法问题。同样的问题,在压缩过程中。我的解决方案是创建一个脚本来压缩每个文件并检查哪个文件导致了错误。
-
但是说是无效的CSS,怎么是js?
-
我说的是我的情况。同样的情况,但是有一个 js 文件语法错误。我找到的解决方案是单独压缩每个文件,找出哪个是无效的。
-
如果你不介意设置 npm 包,你也可以试试github.com/CSSLint/csslint/wiki/Command-line-interface。我经常使用它,效果很好。
-
在开发模式下运行你的项目有没有编译错误?
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2 ruby-on-rails-3.1