Ruby Version Manager nos permite usar un archivo .rvmrc
en cada proyecto para configurar la versión de ruby y la gema configurada para cargar. ¿Debería registrarse este archivo en el control de origen? ¿O supone esto demasiado sobre el entorno de trabajo de otros desarrolladores?¿Verifica en su archivo rvmrc?
Respuesta
Source Control Management se trata principalmente de reproducibilidad: ¿puede reproducir una versión de un esfuerzo de desarrollo basado en lo que tiene almacenado en su SCM?
Si ese archivo .rvmrc
es necesario para que cualquier desarrollador de su proyecto pueda trabajar (con los artefactos adecuados), entonces sí, debería versionarlo.
como se menciona en RVM Best Practices:
Nº 2 - Compruebe su rvmrc en control de código fuente.
Al marcar la rvmrc mencionada en el control de la fuente al lado de su aplicación, que estás asegurando que todos los usuarios tengan un ambiente consistente cuando se está utilizando RVM.
Al automatizar también las instalaciones de gemset y similares (por ejemplo, verifique el rvmrc en el repositorio rvm-site o el rvmrc del repositorio TEDxPerth) también hace que comenzar sea tan simple como cambiar de directorio.
Además de esto, también puede hacer que sus implementaciones configuren automáticamente el entorno específico de su aplicación.
Otros desarrolladores pueden convertir de uso de gemsets en su RVM con:
echo rvm_ignore_gemsets_flag=1 >> ~/.rvmrc
Esto hará que los utilizan gemset predeterminada siempre.
De hecho, desaconsejaría mantener .rvmrc
en SCM. Dos razones específicas:
Si utilizan gemsets a hacer cumplir otros desarrolladores usar el mismo gemset (mientras que algunos podrían preferir tener todas sus gemas en el gemset global).
Hace que otros desarrolladores tengan dificultades para ejecutar el proyecto en una versión diferente de Ruby. Claro, en producción podría ejecutarse en
1.9.2-p290
, pero ¿por qué no se me debería permitir ejecutar la aplicación localmente en1.9.3-p0
?
general que hace valer demasiado en cada desarrollador (misma historia que database.yml
, que así no debe ser mantenido en SMC). Una nota en el archivo README del proyecto de la versión Ruby de "producción en funcionamiento" es suficiente.
Creo que también depende del proyecto.Tengo una situación donde los desarrolladores ejecutan varias versiones ruby del mismo proyecto (diferentes plataformas, requisitos) desde la producción, por diseño. Nuestras * pruebas * nos dicen que todo está funcionando bien. La libertad de cambiar los rubíes nos permite diagnosticar problemas específicos de la versión y ejecutar puntos de referencia. – foz
- 1. archivo rvmrc no funciona
- 2. Como hacer Capistrano escribir un archivo .rvmrc al implementar?
- 3. rvm sigue ignorando mi .rvmrc
- 4. ¿Cómo verifica su URL para los ataques de inyección SQL?
- 5. RVM: Permiso denegado durante la carga del archivo gemset .rvmrc en todo el sistema de instalación
- 6. ¿Debo confirmar los archivos .rvmrc en un proyecto?
- 7. ¿Cómo verifica si un archivo está abierto usando Perl?
- 8. ¿Verifica si existe clase en Java classpath sin ejecutar su inicializador estático?
- 9. No puedo obtener rvm para leer mi proyecto específico .rvmrc
- 10. ¿Cómo se verifica que una clave pública haya sido emitida por su CA privada?
- 11. Verifica si existe proc almacenado en DB?
- 12. ¿Verifica si existe papel en DB?
- 13. QRadioButton verifica/desmarque el problema en Qt
- 14. verifica si largeAddressAware está en efecto?
- 15. ¿Verifica si existe un diseño en Rails?
- 16. ¿Verifica una imagen remota en realidad es un archivo de imagen en ruby?
- 17. ¿Cómo verifica los permisos para escribir en un directorio o archivo?
- 18. ¿Cómo se verifica el éxito de abrir (archivo) en Perl? El
- 19. Magento - ¿Verifica si hay un módulo instalado?
- 20. Openssl s_client no verifica los certificados en 0.9.8r
- 21. Descriptor de archivo duplicado con su propio desplazamiento de archivo
- 22. Verifica la longitud de la secuencia binaria?
- 23. PHP: ¿verifica si la URL redirige?
- 24. ¿Verifica si un NSMutableDictionary está vacío?
- 25. Usando WatiN ... verifica si existe un elemento?
- 26. ¿Qué verifica la expresión 'v! == v'?
- 27. ¿Por qué una compilación C no verifica?
- 28. ¿Cómo verifica Azure el estado de WorkerRole?
- 29. Verifica si el valor entero ha aumentado?
- 30. Verifica programáticamente si se está ejecutando syncdb
punto interesante. Guardo mi rvmrc en mi directorio de inicio, tendré que considerar hacer lo contrario. –
¿No obliga esto a otros desarrolladores de tu equipo a usar un gemset con el mismo nombre que el creador .rvmrc? – ybakos
Normalmente no incluyo un gemset en rvmrc si el proyecto usa bundler. Si no está utilizando bundler, entonces déle un nombre gemset que coincida con el proyecto con un indicador --create para que se cree automáticamente. –