Для нашего веб-стека мы переходим с Windows Server на CentOS. Для облегчения разработки мы используем Vagrant для локального запуска виртуальных машин CentOS. Мы используем функцию синхронизированных папок Vagrant, чтобы позволить разработчикам использовать свои любимые IDE на своем хост-компьютере, но мы обнаруживаем, что в этой настройке отсутствует одна ключевая функция: чувствительность к регистру файловой системы.
Синхронизированная папка внутри виртуальной машины, очевидно, приобретает свойства файловой системы хоста, поэтому, если я занимаюсь разработкой на компьютере с Windows или даже OSX, файловая система не чувствительна к регистру. Это большая проблема, так как наши производственные серверы будут работать на чистом CentOS, а его файловая система будет чувствительна к регистру.
Чувствительность к регистру - одна из главных причин, по которой мы хотели иметь локальную виртуальную машину. Мы хотим предотвратить "Это работает на моей машине!"
Некоторые обходные пути, которые мы рассмотрели или попробовали:
- Используйте lsyncd для синхронизации от общего ресурса vagrant до места внутри виртуальной машины, которое чувствительно к регистру
- обновление файлов на хосте, похоже, не генерирует события в виртуальной машине, которую слушает lsync
- Сделайте регистр с учетом регистра на хосте
- (Не работает для Windows)
- Используйте самбу
- это может быть вариант, но мы еще не проверяли его.
Есть ли способ лучше? Обратите внимание, что у нас есть разработчики, использующие Windows, OS X и Ubuntu, и решение должно работать везде.
источник
Ответы:
Я обошел проблему в OS X, создав разреженный образ диска в папке своего проекта и отформатировал его с учетом регистра.
После монтирования разреженного изображения я перенес на него свой код. Затем замените исходную папку «src» символической ссылкой / псевдонимом на смонтированный образ. Таким образом, общая папка чувствительна к регистру в гостевой ОС.
Определенно, это не самое элегантное решение, но оно сокращает разрыв между средой развертывания и разработки, поэтому я начал использовать Vagrant в первую очередь.
Возможно, подобный обходной путь мог бы работать и для Ubuntu и Windows?
источник
Я столкнулся с той же проблемой, и я решил эту проблему, используя рабочий каталог на виртуальной машине через git clone и добавляя общий ресурс Samba, указывая на него, делая его доступным как для Windows, так и для Mac.
источник