Las carpetas sincronizadas vagabundas no distinguen entre mayúsculas y minúsculas


10

Para nuestra pila web, estamos pasando de un servidor de Windows a CentOS. Para facilitar el desarrollo, estamos utilizando Vagrant para ejecutar máquinas virtuales CentOS localmente. Estamos utilizando la función Carpetas sincronizadas de Vagrant para permitir que los desarrolladores usen sus IDE favoritos en su máquina host, pero descubrimos que falta una característica clave en esta configuración: la distinción entre mayúsculas y minúsculas del sistema de archivos.

La carpeta sincronizada dentro de la VM aparentemente toma las propiedades del sistema de archivos del host, por lo que si estoy desarrollando desde una máquina Windows, o incluso OSX, el sistema de archivos no distingue entre mayúsculas y minúsculas. Este es un gran problema, ya que nuestros servidores de producción serán CentOS puros y su sistema de archivos será sensible a mayúsculas y minúsculas.

La distinción entre mayúsculas y minúsculas es una de las principales razones por las que queríamos tener una VM local. Queremos evitar "¡Funciona en mi máquina!"

Algunas soluciones alternativas que hemos considerado o probado:

  • Use lsyncd para sincronizar desde el recurso compartido vagabundo a una ubicación dentro de la VM que distingue entre mayúsculas y minúsculas
    • actualizar archivos en el host no parece generar los eventos en la VM que escucha lsync
  • Hacer una partición sensible a mayúsculas y minúsculas en el host
    • (No funciona para Windows)
  • Usar samba
    • Esta puede ser una opción, pero aún no la hemos investigado.

¿Hay una mejor manera? Tenga en cuenta que tenemos desarrolladores que usan Windows, OS X y Ubuntu, y la solución debe funcionar en todas partes.


Buena pregunta, pero también orientado al desarrollo para SF, creo que puede tener mejor suerte en Stack Overflow, ha marcado para la migración :)
Craig Watson

1
Honestamente, creo que no pertenece a SO ya que el hecho de que esto sea para el desarrollo es en gran medida irrelevante; La pregunta es sobre la distinción entre mayúsculas y minúsculas del sistema de archivos, ya que se relaciona con huéspedes y hosts vagabundos.
phoebus el

Respuestas:


6

Trabajé el problema en OS X creando una imagen de disco dispersa en mi carpeta de proyecto y la formateé para que fuera sensible a mayúsculas y minúsculas.

Después de montar la imagen dispersa, moví mi código sobre ella. Luego reemplazó la carpeta original "src" con un enlace simbólico / alias a la imagen montada. De esta forma, la carpeta compartida distingue entre mayúsculas y minúsculas dentro del sistema operativo invitado.

Definitivamente no es la solución más elegante, pero cierra la brecha entre el entorno de implementación y desarrollo, por lo que comencé a usar Vagrant en primer lugar.

¿Quizás una solución similar podría funcionar también para Ubuntu y Windows?


Windows no tiene un sistema de archivos sensible a mayúsculas y minúsculas.
Michael Hampton

Gracias Jason. Lo consideré y funcionaría en mi mac y ubuntu, pero no funcionaría para Windows. También agrega un paso manual para crear un entorno de desarrollo, que esperaba escribir completamente usando vagrant / chef. Sin embargo, puede que no haya otra opción.
Scott Coldwell

2
La distinción entre mayúsculas y minúsculas es una de las razones principales por las que recurrí a Vagrant, después de años de usar MAMP, así que estoy realmente decepcionado de que siga siendo un problema. No puedo creer que esto no se indique más claramente en los documentos de Vagrant.
Jason Suave

3
@JasonSuave El problema es en realidad con VirtualBox y lo que usa para los montajes, no Vagrant. Vagrant solo controla los montajes de VirtualBox. Es posible que tenga diferentes experiencias en VMWare ... No lo he intentado.
Brad

0

Me he encontrado con el mismo problema y la forma en que lo abordé fue obteniendo el directorio de trabajo en la VM a través de git clone y agregando un recurso compartido de Samba que lo señala para que sea accesible tanto en Windows como en Mac.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.