Compassを使ってCSSを書いていますが、突然コンパイルエラー No such file or directory

原因はWindowsのパス最大文字数「260」

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のコンパイルエラーがなくなり正常にコンパイルできるようになりました。

  1. 管理者権限でレジストリエディターを起動します。
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemキーを開きます。
  3. DWORD値「LongPathsEnabled」を開き、データを「1」に変更します。
    レジストリエディターを終了します。
  4. PCを再起動します。

引用: http://news.mynavi.jp/column/windows/394/

まだ、こんな古臭い制限が残っていたんですね。ビックリしました。しばらくこの設定で他のWinアプリに悪影響がでないか様子を見てみたいと思います。