我正在为Mac OSX(Snow Leopard)上的Vagrant / VirtualBox VM在本地运行的Rails应用程序进行HAML / SASS更改,并且每当我对图像进行更改时,我会继续遇到一个非常奇怪的问题在任何Haml / Sass文件中引用。

这是会发生什么的一个例子:

  • 我在浏览器中打开一个本地导轨应用程序页面,所有图像都显示正确
  • 我重新尺寸图像(使用gimp)以使其更小并保存更改
  • 我刷新页面以查看更改和原始图像仍然显示,但底部成比例地切断了我使图像变小了
  • 我从目录中删除图像文件并硬刷新页面以查看会发生什么。
  • 有时原始截止图像仍然存在,有时它会消失,我只是看到缺失的图像路径图标
  • 我将图像文件移动回目录以尝试并强制它来拾取重新调整尺寸
  • 有时这个工作首次,有时我必须在看到正确的图像之前完成3或4次。
  • 有时候我看到旧切断图像即使在刷新页面后也会重新出现,看看没有图像!

    如果我对图像文件进行其他更改,似乎发生了同样的问题(例如,如果我保存具有相同文件名的全新图像)。除此图片问题外,所有对HAML / SASS文件的编辑都可以瞬间查看我的更改。

    我认为它可能是某种浏览器呈现/缓存问题,但在Firefox和Chrome中发生了类似的问题。如果我使用Firebug,我有时可以看到正在拾取正确的文件,但它没有在页面本身中显示。

    我只能认为这与流浪汉有关。保证完全修复它的唯一唯一的是缩放Vagrant Box,但需要很长时间。

    我意识到这可能不是一个简单的问题,因为它可能与我们的铁路应用程序和Vagrant / Virtualbox的配置有关,但我只是想我在这里发布这个问题,以防其他人已经相似问题。

    谢谢!

有帮助吗?

解决方案

What you're probably seeing is an issue that the VirtualBox shared folder filesystem has along with the sendfile syscall. You need to disable the use of sendfile on your webserver if you're serving files from a VirtualBox shared folder. Doing this is easy:

In Apache, add this to your configuration: EnableSendfile off

In Nginx, add this to your configuration: sendfile off;

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top