我正在使用Mac OSX(Snow Leopard)上的Vagrant / VirtualBox VM在本地运行的Rails应用程序进行HAML / SASS更改,每当我对图像进行更改时,我都会遇到一个非常奇怪的问题在任何HAML / SASS文件中引用。
以下是发生的事情的一个例子:
如果我对图像文件进行其他更改(例如,如果我使用相同的文件名保存一个全新的图像),似乎也会出现同样的问题。除了这个图像问题,对HAML / SASS文件的所有编辑都有效,我可以立即看到我的更改。
我认为这可能是某种浏览器呈现/缓存问题,但Firefox和Chrome中也会出现类似的问题。如果我使用Firebug,我有时会看到正在拾取的文件正确,但它没有显示在页面本身中。
我只能认为这与Vagrant有关。唯一可以保证完全修复它的是重新调整Vagrant盒子,但这需要很长时间。
我意识到这可能不是一个简单的问题,因为它可能与我们的Rails应用程序和Vagrant / VirtualBox的配置有关,但我只是想我会在这里发布问题以防其他人有类似的问题的问题。
谢谢!
答案 0 :(得分:2)
您可能看到的是VirtualBox共享文件夹文件系统与sendfile
系统调用一起出现的问题。如果要从VirtualBox共享文件夹提供文件,则需要在Web服务器上禁用sendfile
。这样做很容易:
在Apache中,将其添加到您的配置中:EnableSendfile off
在Nginx中,将其添加到您的配置中:sendfile off;