0

我有一个有趣的错误。我的 sass 文件位于 Dropbox 文件夹中。我在我的开发电脑上本地编辑它们,然后通过 Dropbox 将它们同步到服务器。在服务器上,我安装了 CLI Dropbox 服务的 CentOS。

我有一个 app.scss 文件和一个 app.scss 中包含的 _settings.scss 文件。如果我编辑 _settings.scss,则会引发以下错误:

    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)

如果我随后更改 app.scss 中的某些内容,则它的编译不会出错。现在有趣的是:如果我在服务器上本地或通过 ssh 编辑 _settings.scss,则不会引发错误!

这是怎么回事?

4

2 回答 2

1

经过一些建议和 Dmitri 的测试验证,我们得出的结论是,compass watch 最有可能“过早”地捕捉到文件更改,而 Dropbox 进程正在完全同步文件。文件同步可能通过 2 个或更多连续的文件更新步骤来实现。

如果 compass watch 的编译触发器可以稍微延迟,则问题可能会得到解决。目前,Dmitri 决定改用 ftpsync。

于 2014-03-21T05:57:00.990 回答
0

确保您在 SASS 文件中使用 linux 行结尾,因为这可能会导致编译失败。

当您在 windows 中编辑它时,它可能会将其设置为 windows 行结尾。

然后当您在 CentOS 中编辑它时,它可能会将它们设置为 unix 行结尾。

于 2014-03-18T12:47:13.413 回答