Affichage de l'image / Couper le problème lorsque vous utilisez Vagrant pour le développement Haml / Sass

StackOverflow https://stackoverflow.com//questions/9648822

Question

Je fais des changements haml / sass pour une application Rails que je passe localement à l'aide d'une machine VM Vagrant / VirtualBox sur Mac OSX (Snow Leopard), et je continue à rencontrer un problème vraiment étrange chaque fois que je modifie une image référencé dans l'un des fichiers haml / sass.

Voici un exemple de ce qui se passe:

  • J'ouvre une page d'application Rails locale dans mon navigateur et toutes les images affichent correctement
  • i ré-dimensionner une image (utilisant gimp) pour le rendre plus petit et enregistrer des modifications
  • Je rafraîchis la page pour voir les modifications et L'image d'origine est toujours affichée, mais avec le bas coupé en proportion de la quantité de plus petite que j'ai faite l'image
  • Je supprimai le fichier image du répertoire et rafraîchir la page pour voir ce qui se passe.
  • Parfois, l'image de coupe originale est toujours là, parfois elle disparaît et je viens de voir l'icône de chemin d'image manquante
  • i Déplace le fichier image dans le répertoire pour essayer de le forcer à ramasser la réinimensionnement
  • parfois cela fonctionne la première fois, parfois je dois le faire 3 ou 4 fois avant de voir l'image correctement de la taille
  • Parfois, je vois que l'ancienne coupure de l'image est réapparaître même après avoir rafraîchi la page et n'a vu aucune image!

    Le même problème semble se produire si je fais d'autres modifications dans le fichier image (par exemple, si je sauve une image entièrement nouvelle avec le même nom de fichier). Outre ce problème d'image, toutes les modifications aux fichiers HAML / SASS fonctionnent, et je peux voir instantanément mes modifications.

    Je pensais que cela pourrait être une sorte de problème de rendu / mise en cache de navigateur, mais des problèmes similaires se produisent dans Firefox et Chrome. Si j'utilise Firebug, je peux parfois voir que le bon fichier est en train d'être ramassé mais ce n'est pas montrant dans la page elle-même.

    Je ne peux que penser que cela a quelque chose à voir avec Vagrant. La seule chose qui est garantie de la réparer entièrement, c'est restreindre la boîte vagabonde, mais cela prend beaucoup de temps.

    Je me rends compte que cela peut ne pas être un problème simple, car il peut avoir quelque chose à voir avec notre application Rails et la configuration de Vagrant / VirtualBox, mais je pensais simplement que je postirais le problème ici au cas où quelqu'un d'autre ait eu la similarie problèmes.

    merci!

Était-ce utile?

La solution

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;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top