Voy a escribir un guión breve en Ruby. Y quiero especificar la versión Ruby por shebang o de otra manera.
Usaré el script en muchos entornos. Estoy usando rbenv en los entornos, pero no estoy seguro de qué versión de Ruby está instalada.
El script debe fallar si la versión especificada de Ruby no está instalada.
¿Cómo puedo hacerlo? ¿Hay una buena manera que debo seguir?
Respuesta1
De acuerdo con ladocumentos oficialesParece que solo necesitas anteponer tus scripts de esta manera:
#!/usr/bin/env ruby
Y luego haga una de las siguientes cosas para saber rbenv
qué versión de Ruby usar:
extracto:https://github.com/sstephenson/rbenv
Elegir la versión Ruby
Cuando ejecuta una corrección,
rbenv
determina qué versión de Ruby usar leyéndola de las siguientes fuentes, en este orden:
La
RBENV_VERSION
variable de entorno, si se especifica. Puede utilizar elrbenv
comando de shell para configurar esta variable de entorno en su sesión de shell actual.El primer
.ruby-version
archivo que se encuentra buscando en el directorio del script que está ejecutando y en cada uno de sus directorios principales hasta llegar a la raíz de su sistema de archivos.El primer
.ruby-version
archivo encontrado buscando en el directorio de trabajo actual y en cada uno de sus directorios principales hasta llegar a la raíz de su sistema de archivos. Puede modificar el.ruby-version
archivo en el directorio de trabajo actual con elrbenv
comando local.El archivo global
~/.rbenv/version
. Puede modificar este archivo usando elrbenv
comando global. Si el archivo de versión global no está presente,rbenv
se supone que desea utilizar el "sistema" Ruby, es decir, cualquier versión que se ejecutaría sirbenv
no estuviera en su ruta.
Luego puede usar este comando para crear un .ruby-version
archivo en el directorio junto con el script Ruby.
$ rbenv local 1.9.3-p327