Скрипт node.js, работающий на виртуальной машине, не видит изменений папок, сделанных из основной ОС

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

  1. Виртуальная машина Ubuntu Lucid 32, созданная Vagrant.
  2. Папка, из которой запускается Vagrant с некоторыми файлами CSS и JS. Папка монтируется внутри ВМ по адресу /vagrant/.
  3. grunt.jsс задачей наблюдения, запущенной с виртуальной машины, отслеживающей изменения в файлах css и js. После изменения файлов он должен объединить эти файлы в один файл css и один файл js.

Проблема: Задача Watch в grunt.js не видела изменений в смонтированной папке.

Если я изменяю файлы внутри ВМ, задача работает нормально. Если я запускаю grunt.js не из виртуального ящика, а из основной ОС, он также работает. Пробовал в Mac OS и Windows 7.

Проблема возникает только тогда, когда задача запускается с ВМ, а файлы изменяются из основной ОС. Есть ли решение этой проблемы?

Обновление. Некоторые подробности о наших сценариях использования, чтобы лучше понять контекст:

  1. Мы создаем студию, в которой более 10 человек работают с кодом.
  2. Разные люди используют разные ОС. У нас есть: Win 7, Mc OS X и Ubuntu Linux.
  3. Мы работаем и поддерживаем более 100 различных проектов.
  4. В проектах используются разные языки и настройки: у нас есть проекты PHP на нашей собственной CMS, проекты PHP на Yii, проекты Python на Django и некоторые проекты node.js.
  5. В какой-то момент над любым из этих проектов могут работать разные разработчики.
  6. Сейчас мы тратим много времени каждый раз, когда нам нужно заставить проект работать на компьютере разработчика, который раньше с ним не работал. И обычно нам нужна помощь разработчика, который уже работал над этим, чтобы заставить его работать.

Мы хотим сделать его более прямолинейным. Для этого мы пытаемся использовать Vagrant и ряд преднастроенных образов ОС.

На данный момент настройка проекта выглядит так:

  1. Проект проверки для разработчиков из git.
  2. Разработчик открывает папку проекта в Терминале.
  3. Разработчик входит в режим «бродяга вверх».
  4. Через 5 минут он получил полностью настроенную и рабочую копию проекта.

Нам нравится эта установка, и в большинстве случаев у нас не возникало с ней проблем. Но в наших проектах node.js мы используем некоторые препроцессоры css и js и хотели бы обновлять их файлы в реальном времени. И есть проблема с начальным постом.

Решения с доступом к файлам с ssh VM и с файлами проекта внутри VM, вероятно, будут работать, но они не решили основную проблему (быстрая и простая настройка большого количества проектов в группе разработчиков, работающих на разных ОС)

15
задан Alexey Ivanov 1 July 2012 в 21:08
поделиться