Почему Rails кэширует просмотр файлов, если они размещены на виртуальной машине, а кодовая база — на общем ресурсе Samba

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

  •  01-07-2019
  •  | 
  •  

Вопрос

У меня есть следующая настройка:

  • Код на моем локальном компьютере (OS X), доступный как общий ресурс Samba
  • Виртуальная машина Ubuntu, работающая в Parallels, монтирует общий ресурс

Запуская Rails 2.1 (через Mongrel, WEBrick или пассажирский) в режиме разработки, если я вношу изменения в свои представления, они не обновляются без необходимости пинать сервер.Вместо этого я попытался переключиться на общий ресурс NFS, но столкнулся с той же проблемой.Я бы предположил, что это какая-то проблема с кешем Samba, но автотест мгновенно обнаруживает изменения в файлах.

Примечание:

  • Это не кэширование рендеринга или кэширование шаблонов, и config.action_view.cache_template_loading не определен в конфигурации разработки.
  • Проверка кодовой базы непосредственно на виртуальной машине не выявила той же проблемы (но я бы предпочел этого не делать)
  • Редактирование файла представления непосредственно на виртуальной машине не решает эту проблему.
  • Прикосновение к просмотренному файлу после внесения изменений приводит к появлению изменений в браузере.
  • Я также заметил, что часы на виртуальной машине спешили на час, и изменение их на правильное время не имело никакого значения.
Это было полезно?

Решение

У меня была точно такая же проблема при разработке на andLinux.Часы моего andLinux опережали время на хост-Windows примерно на три часа, и установка правильного времени (на самом деле отставание на минуту или около того) решила проблему.

Другие советы

На самом деле, установка правильной даты и времени на виртуальной машине, похоже, решила проблему (после того, как я перезапустил Mongrel) — придется еще немного покопаться.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top