Mac/WinにてCompassを使ってCSSを書いていますが、突然、Windowsだけ下記のようなエラーが出てコンパイルができないようになってしまいました。
compass Errno::ENOENT on line [“250”] of C: No such file or directory @ dir_s_mkdir …
原因は、Windowsのパス最大文字数「260」で、それを超えたCompassのキャッシュのパス&ファイル名が生成&アクセスできないことが原因でした。Windows10では昔のWindowsの互換のため、わざと制限を付けているようで、下記の設定を行えば制限を解除できるとのこと。ただし、昔のアプリで問題が起こるかもしれないようです。試しに、この設定をしてみると、Compassのコンパイルエラーがなくなり正常にコンパイルできるようになりました。
- 管理者権限でレジストリエディターを起動します。
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemキーを開きます。
- DWORD値「LongPathsEnabled」を開き、データを「1」に変更します。
レジストリエディターを終了します。 - PCを再起動します。
引用: http://news.mynavi.jp/column/windows/394/
まだ、こんな古臭い制限が残っていたんですね。ビックリしました。しばらくこの設定で他のWinアプリに悪影響がでないか様子を見てみたいと思います。