2010-06-13 7 views
5

Me encanta RVM. Me doy cuenta de que el principal caso de uso está permitiendo que diferentes usuarios cambien entre las diferentes versiones de Ruby. Pero digamos que estoy implementando una aplicación de Rails en un servidor y solo quiero una versión única de Ruby en ejecución. En particular, quiero 1.9.2, que es muy fácil de instalar con RVM, pero un dolor sin él. ¿Hay alguna manera en que puedo decir "Quiero que esta sea la instalación canónica de Ruby para todos los usuarios" (junto con todas sus gemas) sin tener que crear un grupo de enlaces simbólicos a mano y cambiarlos cada vez que actualizo a un nuevo Ruby lanzamiento?¿Puedo usar RVM para mantener una única versión de Ruby para todos los usuarios?

Respuesta

9

Instala RVM como root y haz un sudo rvm use 1.9.2 --default. Cualquier fuente de usuario /usr/local/rvm/scripts/rvm tendrá por defecto 1.9.2.

+1

Si tiene más preguntas sobre RVM, hay personas dispuestas a ayudar 24/7 en el canal #rvm en freenode: http://webchat.freenode.net/?channels=rvm. –

+0

No estoy seguro de lo que quiere decir con "Cualquier fuente de usuario'/usr/local/rvm/scripts/rvm' "... Estoy pensando en términos de: Si tengo un servidor web que ejecuta mi aplicación Rails, Quiero estar seguro de que está usando Ruby 1.9.2 y las gemas correspondientes. ¿Cómo hago para que el usuario del servidor web use RVM? –

+0

Eso realmente depende del servidor web que use. Abastecimiento significa cargar ese archivo en su entorno (es decir, colocar la línea 'source/usr/local/rvm/scripts/rvm' en su'/etc/bashrc' o algo así). Asegurarse de que su servidor web usa 1.9.2 es esencialmente lo mismo que asegurarse de que usa el ruby ​​del sistema: tiene que ser el primero en la ruta. Eso, entre otras cosas, es de lo que se encarga el abastecimiento de rvm. –

3

Sé que esto no acaba de responder a su pregunta, pero:

me encontré con varios problemas con la instalación de RVM a nivel mundial y recurrió al uso de una cuenta de usuario para el despliegue y para todos los procesos de Ruby/Rails - que los usuarios existe una cuenta en todos los servidores de desarrollo y producción, y el directorio .rvm se rsync'ed de un servidor dev a todos los demás servidores.

¿Cuántos usuarios diferentes en sus servidores de aplicaciones realmente necesitan acceder a Ruby 1.9.2? ¿No puedes simplemente reducir eso a solo un usuario? Eso funcionó mejor para mí.

Nota:

Una cosa que probablemente quiere evitar es instalar RVM en el servidor (s) aplicación de forma manual y luego instalar Ruby y Gemas en el servidor de aplicaciones ... usted no desea mantener las herramientas como cc en los servidores de producción por razones de seguridad. ¡sincronizar el directorio .rvm es mucho más seguro! ¡y el resultado es mucho más consistente!

Cuestiones relacionadas