2012-03-06 11 views
6

Me gustaría que los scripts de ruby ​​con el encabezado #! /usr/bin/ruby se ejecuten usando la versión rvm actualmente en uso de ruby. Me encuentro con el problema en el que estoy usando una versión determinada, pero al ejecutar el script, se invoca el ruby ​​del sistema. Instalar RVM para cada usuario en el sistema no es una opción.Guiones de Ruby ejecutables utilizando la instalación de RVM del usuario local actual?

Problema:

ruby -v 
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.3.0] 

/usr/bin/ruby -v 
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0] 

cómo hacer que la siguiente sin llevar a cabo un sistema de amplia instalación de RVM?

ruby -v 
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.3.0] 

ruby -v 
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.3.0] 

Respuesta

27

Si lo hace which ruby, usted encontrará que RVM de ruby no reside en /usr/bin/ruby. utilizar en su lugar:

#!/usr/bin/env ruby 

Esto le dirá que mirar hacia arriba, que ruby a utilizar en el entorno actual (esencialmente el $PATH).

También podría ejecutar su secuencia de comandos a través de ruby: ruby myscript.rb

Cuestiones relacionadas