¿Cuál es la mejor manera de aislar mi entorno de desarrollo en OS X?

¿Cuál es la mejor práctica actual para configurar un entorno de desarrollo en OS X?

Recientemente obtuve una nueva Mac con OS X 10.10, Yosemite.

Estoy familiarizado con homebrew y, por mi experiencia con Linux, también con VirtualBox y uso de máquinas virtuales (sin cabeza). Sin embargo, no sé prácticamente (juego de palabras) nada sobre Docker.

Soy desarrollador y recientemente comencé a aprender Node.js y Meteor. He trabajado en el pasado principalmente con Python en máquinas Linux. Sin embargo, desde 2013 he tenido un descanso autoimpuesto del desarrollo diario mientras regresaba a la escuela para obtener un nuevo título.

Mucho ha cambiado desde que dejé el trabajo de desarrollo a tiempo completo en 2013 (debería haber hecho un mejor trabajo para estar al tanto de todo). Ahora está Docker, escucho sobre Ansible por primera vez, Homebrew sigue existiendo, parece que ya nadie usa MacPorts y me siento completamente perdido con respecto a descubrir la forma óptima de configurar mi nueva máquina para Node, Desarrollo Python y C/C++.

Mi principal preocupación, además de poder jugar y desarrollar aplicaciones en Node, Python y C/C++, es que mi entorno de desarrollo no interfiera en absoluto con mi sistema operativo ni con la vida informática diaria. Por ejemplo, cuando obtuve mi primera Mac en 2009, usé homebrew para instalar Python y varios paquetes, y en algún momento mi sistema se estropeó un poco con toda la basura que le puse.

Definitivamente quiero evitar eso. Si eso significa usar una máquina virtual o un contenedor (no estoy seguro de cuál es la diferencia, por cierto) para hacer todo mi desarrollo, que así sea, sin importar cuán inconveniente sea. Prefiero mantener mi sistema OS X limpio.

Por otro lado, si hay una manera de desarrollar directamente en mi máquina OS X, mientras la mantengo limpia y sin permitir que ningún software que instale interfiera con mis aplicaciones y uso diarios "normales", sería bueno .

¿Alguien puede ofrecer alguna sugerencia/consejo? Busqué en Google varias variaciones de la consulta "entorno de desarrollo os x [idioma]" y usé herramientas de búsqueda para filtrar todas las entradas excepto las recientes, pero aún no he encontrado un artículo sobre el tema en el que confíe.

Según Apple, cualquier software de terceros que instale debe descargarse para la Apps Store o su sistema no estará "limpio". Si no le importa ensuciar un poco el sistema operativo, le sugiero que use una aplicación que use VM (VirtualBox, etc.). Donde puede instalar su distribución de Linux favorita en una máquina virtual y bajar. Esto es de un chico que todavía usa MacPorts.

Respuestas (3)

No habrá una respuesta correcta a su pregunta. Mucho depende de sus preferencias y necesidades de desarrollo.

Apple espera que los desarrolladores que trabajan en software Mac o iOS lo hagan sin usar una máquina virtual.

Si está implementando en Linux o en una plataforma que no sea Mac, probablemente se recomiende una máquina virtual.

Para probar su software en otras versiones de OS X, una máquina virtual puede ser útil.

Idiomas compilados

Para desarrollar con C, C++, Objective-C y Swift, use Xcode . Xcode es la herramienta de desarrollo propia de Apple y no dañará su instalación de OS X.

Scripts y Lenguajes Dinámicos

Para desarrollar con python u otro lenguaje de secuencias de comandos, considere usar una herramienta que permita la instalación de múltiples versiones de su lenguaje.

El objetivo es instalar y utilizar una versión de su idioma que esté aislada de los archivos binarios proporcionados por OS X. Las actualizaciones pueden cambiar la edición proporcionada de OS X, pero su entorno permanecerá sin cambios.

Homebrew y MacPorts

Debería poder usar homebrew y MacPorts sin riesgo para su instalación de OS X. Ambos administradores de paquetes intentan aislar sus instalaciones y ambos simplifican la eliminación de software no deseado o problemático.

Si encuentra problemas, registre los errores con los desarrolladores.

A partir de 2015, ambos administradores de paquetes se están desarrollando activamente:

A partir de noviembre de 2015, homebrew doctor aún afirma que MacPort y Fink pueden causar problemas cuando se instalan al mismo tiempo que homebrew. En general, ambos administradores de paquetes brindan el mismo conjunto de herramientas y software, por lo que recomiendo ceñirse a uno solo.

Otra opción que ya está disponible en la tienda de aplicaciones es Veertu. Yo lo estoy usando y funciona perfecto. La versión gratuita me permite ejecutar múltiples Linux y Windows Vms aislados y también Docker.

Sí, eso es bueno. He estado usando VirtualBox, pero preferiría usar algo aprobado por Apple, si es similar en calidad a VirtualBox.

Use VirtualBox y Vagrant con un lugar de instalación posterior y tendrá un excelente entorno de desarrollo aislado.

Usualmente uso la familia Red Hat de Linux, pero para que Concourse CI funcione, necesito usar Ubuntu.

Requisitos:

  • Oracle Virtual Box
  • vagabundo instalado

Pasos:

  1. abrir una terminal shell en MAC
  2. cree un directorio llamado 2019_ubuntu/ y cd en él
  3. use este cuadro vagabundo https://app.vagrantup.com/bento/boxes/ubuntu-17.10
  4. $ vagabundo init bento/ubuntu-17.10
  5. $ vagabundo
  6. $ vagabundo ssh
  7. crear un nuevo usuario
  8. instalar docker-ce
  9. instalar docker-compose
  10. agregue el grupo docker y agregue su usuario a ese grupo
  11. además, agregue el servicio docker para que se inicie automáticamente al reiniciar
  12. Además, cree un indicador de PS1 para su shell (si creó
  13. su usuario correctamente, entonces esto puede ser omitido)
  14. compruebe que la ventana acoplable funciona bien con hello-world