Compassのimport-onceでエラー。コンパイル時に「No such file or directory」が出る場合の解決方法

Compassのコンパイル速度を向上させる効果のあるimport-onceですが、とある状況下(自分のOSはWindows 7やWindows 10)でコンパイルをすると以下の様なエラーを吐き出します。

これ、何が原因かというと、どうやらディレクトリ階層が深すぎる場合にキャッシュファイルが生成できなくなっているようなんです。

Macでは確認していませんが、例えばWindowsだったらあまりにもディレクトリ階層が深いとファイルの削除が出来なかったり、名前の変更が出来なかったりするんですよね。憶測ですが、多分これに近いOSレベルの問題なのかもしれません。

(2015年8月現在、import-onceのバージョンは1.0.5です)

解決方法

海外のフォーラムでも同じ現象について書かれていて、そこに解決方法がありました。方法は至って簡単です。

Compassの設定を書いているconfig.rbに以下の記述をします。

「cache_path」に指定しているフォルダ名やドライブ名は任意のものに変更できます。例えば「’D:/temp/sass/’」とか。ドライブのほぼ直下ならディレクトリ階層が深くなりすぎず、ちゃんとキャッシュファイルも生成されるんですね。

参考になったフォーラムはこちらです:

compass-import-once causes `compass compile` to fail on Windows since 1.0.4 · Issue #1642 · Compass/compass

コメント

「何かそこ違うよ」「こうした方が良い」っていう部分があったら指摘して頂けると嬉しいです。

トラックバック

トラックバックは現在ありません。

Trackback: https://increment-log.com/compass-import-once-error/trackback/