Pergunta

Eu estou fazendo alterações de Haml / Sass para um aplicativo Rails que eu estou executando localmente usando um VM Vagant / VirtualBox no Mac OSX (Snow Leopard), e eu continuo encontrando um problema realmente ímpar sempre que faço alterações em uma imagem referenciado em qualquer um dos arquivos HAML / SASS.

Aqui está um exemplo do que acontece:

  • eu abro uma página de aplicativos de trilhos locais no meu navegador e todas as imagens estão exibindo corretamente
  • Redupe uma imagem (usando o GIMP) para torná-lo menor e salvar alterações
  • Atualizo a página para ver as alterações e A imagem original ainda está sendo exibida, mas com a parte inferior cortada em proporção de quanto menor eu fiz a imagem
  • Eu removo o arquivo de imagem do diretório e refrescar a página para ver o que acontece.
  • Às vezes a imagem original de corte ainda está lá, às vezes desaparece e eu vejo o ícone do caminho da imagem perdida
  • Eu movo o arquivo de imagem de volta para o diretório para tentar forçá-lo a pegar o re-dimensionamento
  • às vezes isso funciona pela primeira vez, às vezes eu tenho que fazer isso 3 ou 4 vezes antes de ver a imagem de tamanho correto
  • Às vezes vejo a antiga imagem cortada reaparecer mesmo depois de ter atualizado a página e vejo nenhuma imagem!

    O mesmo problema parece ocorrer se eu estiver fazendo outras alterações no arquivo de imagem (por exemplo, se eu estiver salvando uma imagem totalmente nova com o mesmo nome de arquivo). Além dessa edição de imagem, todas as edições para o trabalho de arquivos Haml / Sass, e eu posso ver instantaneamente minhas alterações.

    Eu pensei que poderia ser algum tipo de problema de renderização / cache do navegador, mas questões semelhantes ocorrem no Firefox e no Chrome. Se eu usar o Firebug, às vezes consulte que o arquivo correto está sendo pego, mas não está sendo exibido na própria página.

    Eu só posso pensar que isso tem algo a ver com vagabundo. A única coisa que é garantida para corrigi-lo inteiramente está restringe a caixa Vagrant, mas que leva muito tempo.

    Eu percebo que isso pode não ser um problema simples, pois pode ter algo a ver com nosso aplicativo de trilhos e configuração de Vagrant / VirtualBox, mas eu apenas pensei em postar o problema aqui caso qualquer outra pessoa tenha tido semelhante questões.

    Obrigado!

Foi útil?

Solução

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;

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top