Search code examples
sassdropboxcompass-sass

Compass + Dropbox = File to import not found or unreadable


I've got a funny error. My sass files are located on a Dropbox folder. I edit them locally on my dev pc, and then they're synced via Dropbox to the server. On the server I have a CentOS installed with CLI Dropbox service.

I have an app.scss file and a _settings.scss file included from app.scss. If I edit _settings.scss, the following error is thrown:

    error app.scss (Line 2: File to import not found or unreadable: settings.
Load paths:
  /www/psmb.dev/web/typo3conf/ext/speciality/Resources/Public/foundation/sass
  /usr/local/lib/ruby/gems/1.9.1/gems/compass-0.12.2/frameworks/blueprint/stylesheets
  /usr/local/lib/ruby/gems/1.9.1/gems/compass-0.12.2/frameworks/compass/stylesheets
  /usr/local/lib/ruby/gems/1.9.1/gems/zurb-foundation-4.3.1/scss
  Compass::SpriteImporter)

If I then change something in app.scss, it's compiled without error. Now the funny thing: if I edit _settings.scss locally on the server, or via ssh, then no error is thrown!

What's up?


Solution

  • After some suggestion and Dmitri's test verification, we came to the conclusion that most likely compass watch caught the file change "too early" while dropbox process is in the midst of making complete sync of the file. The file sync is probably implemented by 2 or more successive file update steps.

    Potentially the problem can be resolved if compass watch's compile trigger can be delayed somewhat. For now Dmitri decided to use ftpsync instead.