SASSのコンパイルは基本的にSublimeText3のプラグインとCompassを使ってこれまで行ってきた。
しかし先日突然、何の前触れもなくコンパイル時に以下のエラーが発生するようになってしまった。
You can use the sass-convert command to automatically fix most cases.
DEPRECATION WARNING on line 92 of C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_deprecated-support.scss: #{} interpolation near operators will be simplified
in a future version of Sass. To preserve the current behavior, use quotes:
解決方法
エラーメッセージにあるとおり、以下のパスを辿り該当のファイルを開いてみる。
C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_deprecated-support.scss
※環境によってパスは若干違うかもしれないがエラーメッセージを読めば分かるはず
ファイル内の、@mixin debug-support-matrixの部分を以下のように修正する。
@mixin debug-support-matrix($experimental: true, $ie: true) {
@debug #{'$moz-'}$experimental-support-for-mozilla
#{'$webkit-'}$experimental-support-for-webkit
#{'$opera-'}$experimental-support-for-opera
#{'$microsoft-'}$experimental-support-for-microsoft
#{'$khtml-'}$experimental-support-for-khtml;
@debug #{'$ie6-'}$legacy-support-for-ie6
#{'$ie7-'}$legacy-support-for-ie7
#{'$ie8-'}$legacy-support-for-ie8;
}
// シングルクォーテーションで各行を囲む!
@mixin debug-support-matrix($experimental: true, $ie: true) {
@debug '#{'$moz-'}$experimental-support-for-mozilla'
'#{'$webkit-'}$experimental-support-for-webkit'
'#{'$opera-'}$experimental-support-for-opera'
'#{'$microsoft-'}$experimental-support-for-microsoft'
'#{'$khtml-'}$experimental-support-for-khtml';
@debug '#{'$ie6-'}$legacy-support-for-ie6'
'#{'$ie7-'}$legacy-support-for-ie7'
'#{'$ie8-'}$legacy-support-for-ie8';
}
ファイルを保存したら、一度SublimeTextを再起動しよう。
再起動後SASSファイルをコンパイルするとエラー出力が消え、正常にコンパイルされるようになるはずだ。