2016-06-14 170 views
0

我試圖在Heroku上部署我的應用程序,但我不知道爲什麼會出現波紋管錯誤。Rails:生產資產:預編譯錯誤

我有gem 'rails_12factor', group: :production所以我不使用config.serve_static_assets = trueconfig.assets.initialize_on_precompile如文檔中解釋說,他們不需要在Rails的4

當我分別執行以下兩條命令:

bundle exec rake assets:precompile 

RAILS_ENV=production bundle exec rake assets:precompile 

我得到這個錯誤。

DEPRECATION WARNING: The configuration option `config.serve_static_assets` has been renamed to `config.serve_static_files` to clarify its role (it merely enables serving everything in the `public` folder and is unrelated to the asset pipeline). The `serve_static_assets` alias will be removed in Rails 5.0. Please migrate your configuration files accordingly. (called from block in tsort_each at /usr/local/lib/ruby/2.2.0/tsort.rb:226) 
I, [2016-06-14T13:21:21.336814 #10455] INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/font-awesome.min-1c15db9e10c99a36820b80616445a837a002b3f3969047f3375fba65f8fef2ba.css 
I, [2016-06-14T13:21:21.337563 #10455] INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/font-awesome.min-1c15db9e10c99a36820b80616445a837a002b3f3969047f3375fba65f8fef2ba.css.gz 
I, [2016-06-14T13:21:21.341449 #10455] INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/bootstrap.min-139ad6ac9cbd7b8cd15fa3f80b9b69e3ead570cb9686b3bb42b73a19ed62dcef.css 
I, [2016-06-14T13:21:21.343432 #10455] INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/bootstrap.min-139ad6ac9cbd7b8cd15fa3f80b9b69e3ead570cb9686b3bb42b73a19ed62dcef.css.gz 
I, [2016-06-14T13:21:21.400914 #10455] INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/jquery.fancybox-9eb4dcf39f4ad63c3bff3f55e2a0e5e8a32578cc4553c94633ce0ccdc08c2bea.css 
I, [2016-06-14T13:21:21.401335 #10455] INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/jquery.fancybox-9eb4dcf39f4ad63c3bff3f55e2a0e5e8a32578cc4553c94633ce0ccdc08c2bea.css.gz 
I, [2016-06-14T13:21:21.405283 #10455] INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/animate-0af100ee0144b8c4dc6de8605097b0920d4ea4aad067cc34fbaa7ab525d4e6a8.css 
I, [2016-06-14T13:21:21.405707 #10455] INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/animate-0af100ee0144b8c4dc6de8605097b0920d4ea4aad067cc34fbaa7ab525d4e6a8.css.gz 
rake aborted! 
Sass::SyntaxError: Invalid CSS after "}": expected selector or at-rule, was "}" 
(sass):86 
Tasks: TOP => assets:precompile 
(See full trace by running task with --trace) 

我調試和檢查其中一個文件,但找不到像忘記使用任何錯誤),}或; 。另外,我清理了其中一個的全部內容,並用一個簡單的CSS規則替換它,但仍然出現錯誤!

當我嘗試push我的應用程序到Heroku時,也會發生此錯誤。請幫我理解是什麼原因及其解決方法?

+1

該錯誤清楚地顯示「語法錯誤:無效的CSS後」}「:預期的選擇或at-rule,是」}「(sass):86」 檢查您的CSS文件中的語法錯誤有多個服務,它爲你[JigSaw](https://jigsaw.w3.org/css-validator/),[Css Lint](http://csslint.net/) –

+0

@ChiragArya使用JigSaw,它甚至會產生很多錯誤知名的css文件像bootstrap.css !!!這可能是因爲不支持webkit之類的東西。 –

+0

這顯然是一個css語法錯誤的問題,如果你刪除你的css文件,然後嘗試推送你的應用程序到heroku它將正常工作,除非在其他css文件中有另一個錯誤。你需要自己計算一下,因爲不看你的css文件就不可能說出你的代碼段有什麼問題。 –

回答

0

這是我找到的答案,希望它對其他人也有用。

爲了解決棄用警告,更新你的寶石如表示:

Asset pipeline DEPRECATION WARNING tsort.rb:226

約在主要錯誤,你應該找哪個文件是什麼導致了錯誤。錯誤輸出和提及的文件是誤導性的,不一定包含語法錯誤。

您可以使用assets.rb文件來查找哪個文件(文件)包含語法錯誤。註釋或刪除所有在assets.rb所提到的文件,除一人外,在生產模式重做資產預編譯命令:

RAILS_ENV=production bundle exec rake assets:precompile 

,並重復所有其他CSS文件來了解哪一個包含錯誤。這次這個命令的輸出會很有幫助,並且正確地指出問題所在。然後,很容易找到錯誤並修復它。