Sass 罗盘+;Dropbox=要导入的文件找不到或不可读

Sass 罗盘+;Dropbox=要导入的文件找不到或不可读,sass,dropbox,compass-sass,Sass,Dropbox,Compass Sass,我犯了一个有趣的错误。 我的sass文件位于Dropbox文件夹中。我在我的开发pc上本地编辑它们,然后通过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

我犯了一个有趣的错误。 我的sass文件位于Dropbox文件夹中。我在我的开发pc上本地编辑它们,然后通过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中更改了某些内容,则编译时不会出错。 现在有趣的是:如果我在服务器上本地编辑_settings.scs,或者通过ssh编辑,那么不会抛出错误


怎么了?

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

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


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

经过一些建议和Dmitri的测试验证,我们得出结论,最有可能是compass watch在dropbox过程中完全同步文件时“太早”捕获了文件更改。文件同步可能通过两个或更多连续的文件更新步骤来实现


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

可能是
\u设置。scss
在同步时被锁定,而watcher无法编译它?但为什么在编译时需要写访问权限?Hz,请尝试question@Pinal你到底有什么建议<代码>罗盘编译?当然可以,但在下一次更改之前…我临时找到了一个解决方案,可以在Sublime文本中为我的scss文件夹设置ftp同步,但这不是很优雅…感谢您的建议,但事实并非如此。如果我在本地机器上通过升华编辑器中的ftp自动同步进行编辑,而不是通过Dropbox同步进行编辑,则一切正常。问题似乎出在Dropbox同步本身,但我不明白这是怎么可能的。即使Dropbox在同步过程中锁定了写访问权限,它也不应该锁定读访问权限,对于compass的编译来说,读访问权限应该足够了,对吧?不过,Harry的怀疑可能是正确的。FTP程序具有在win和unix系统之间自动转换行尾的功能,您需要检查sublime中的FTP是否为您这样做。Dropbox没有这样的功能。请参阅我对上述答案的评论。