【Sass】ターミナルからwatchオプションでディレクトリ監視した際に警告エラーが出来たときの対処法メモ
今週末は、娘の運動会&町内会の運動会2Days。町内会の運動会では自ら志願してリレーに参加することにしました ishida です。パパ、頑張って走って一等賞をとるからね!
さてさて、今回は ちょうど Sass の watch オプション で ハマってしまったので対処法のメモです。
面倒くさがりやな僕はこれまで、sass の watch オプション はいろいろと指定が多くて面倒なので compass watch のバッチファイルを作成してディレクトリを監視していました。
最近は特に compass 依存症になりつつあるので、 sass の watch オプションを知っておかないとダメだなぁーと思い、まずは基本から学習ということで以下のコマンドをターミナルから実行。
sass --watch scss:css
あれ、コンパイルてるけど警告エラー出とる。
WARNING: Listen has fallen back to polling, learn more at https://github.com/guard/listen#fallback.
ちなみに 各バージョンは以下です。
- Mac OS 10.8.2
- ruby 1.8.7
- Sass 3.2.1
- Compass 0.12.2
警告エラーの内容によると listen gem が必要な模様。そのため、listen gem を以下のコマンドでインストール。
sudo gem install listen
Successfully installed listen-0.5.2
1 gem installed
Installing ri documentation for listen-0.5.2...
Installing RDoc documentation for listen-0.5.2...
listen gem のインストールはうまくいった模様。再び、watch。
sass --watch scss:css
[Listen warning]:
Missing dependency 'rb-fsevent' (version '~> 0.9.1')!
Please run the following to satisfy the dependency:
gem install --version '~> 0.9.1' rb-fsevent
For a better performance, it's recommended that you satisfy the missing dependency.
Listen will be polling changes. Learn more at https://github.com/guard/listen#polling-fallback.
またも警告。今度は、rb-fsevent のバージョンアップみたいなのでこれもアップデート。
sudo gem install --version '~> 0.9.1' rb-fsevent
Successfully installed rb-fsevent-0.9.2
1 gem installed
Installing ri documentation for rb-fsevent-0.9.2...
Installing RDoc documentation for rb-fsevent-0.9.2...
rb-fsevent もバージョン 0.9.2 にアップデート完了。三度、watch。
sass --watch scss:css
>>> Sass is watching for changes. Press Ctrl-C to stop.
>>> Change detected to: /Users/hogehoge/web/test/scss/common.scss
overwrite css/common.css
やっと、警告エラーが出なくなり コンパイルも影響ありません。
まとめ
Listen 関連の警告が出た場合、以下の対応で警告が出なくなりました。
sudo gem install listen
sudo gem install --version '~> 0.9.1' rb-fsevent
黒い画面については、あまり詳しくないため その他解決方法などありましたらご指摘いただけると嬉しいです。