

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Rubyen AL2023
<a name="ruby"></a>

 [https://www.ruby-lang.org/en/](https://www.ruby-lang.org/en/)in AL2023 está representado por las versiones 3.2 y 3.4. Amazon Linux sigue el programa de soporte previo y siempre se puede comprobar el estado del soporte de cualquier Ruby versión en el sitio [web de Ruby](https://www.ruby-lang.org/en/). Todas las versiones compatibles de Ruby tienen espacios de nombres y se pueden instalar en el mismo sistema simultáneamente. El espacio de nombres garantiza que cada instalación de Ruby sea única dentro del sistema de archivos. Esto se consigue cambiando el nombre de los directorios y archivos clave en función de la versión en tiempo de ejecución. Los nombres reales de los ejecutables serán como *ruby {MAJOR.MINOR}* (p. ej., o). `ruby3.2` `ruby3.4` Ruby3.4 también proporciona el binario con espacio de nombres MRI (Matz's Ruby Interpreter)`ruby3.4-mri`, que hace referencia a la implementación de referencia estándar basada en C. Ruby Solo puede haber una versión de Ruby activa a la vez. Esta versión activa proporciona los directorios y nombres de archivo predeterminados, como *ruby*, *gem* o *bundle*, y los dirige al motor de ejecución actualmente activo. 

 Esto se logra utilizando las capacidades de la herramienta de *alternativas*. Es importante recordar que los nombres de los ejecutables predeterminados son virtuales y pueden cambiar en cualquier momento al apuntar a una versión de Ruby instalada diferente. Esta flexibilidad permite al software que utiliza *ruby* in the shebang seleccionar la versión deseada al invocarla. Sin embargo, cuando Ruby se requiere una versión específica de, la persistencia de la versión se puede lograr llamando al ejecutable con espacio de nombres (por ejemplo, `ruby3.2` o`ruby3.4`), que siempre utilizará la versión especificada del tiempo de ejecución. Además, los ejecutables con espacio de nombres de las herramientas *gemelas* y *empaquetadoras,* como,, o`ruby3.2-gem`, `ruby3.4-gem``ruby3.2-bundler`, siempre están asociados a la Ruby versión correspondiente`ruby3.4-bundler`, independientemente del tiempo de ejecución activo en ese momento. 

 Rubyse distribuye en varios paquetes con espacios de nombres que comienzan por "». `ruby{MAJOR.MINOR}` Estos paquetes proporcionan versiones compatibles con *Ruby* de las herramientas *Gem* y *Bundler*, documentación, bibliotecas y mucho más. Por ejemplo, el `ruby3.2` paquete proporciona el tiempo de ejecución principal de Ruby 3.2, que incluye (proporciona la *gema*) y `ruby3.2-rubygems` `ruby3.2-rubygem-bundler` (proporciona el paquete y el *paquete*) como *dependencias*. 

 *Tras instalar una Ruby versión, es posible que las entradas de las herramientas complementarias aparezcan como nulas en la configuración de las alternativas.* Esto se puede comprobar ejecutándolo`alternatives --display ruby`. Si las entradas aparecen como nulas, deben registrarse manualmente mediante`alternatives --install`. Por ejemplo, para registrar todas las herramientas complementarias de la versión Ruby 3.4: 

```
sudo alternatives --install /usr/bin/gem gem /usr/bin/ruby3.4-gem 34
sudo alternatives --install /usr/bin/bundle bundle /usr/bin/ruby3.4-bundle 34
sudo alternatives --install /usr/bin/bundler bundler /usr/bin/ruby3.4-bundler 34
sudo alternatives --install /usr/bin/erb erb /usr/bin/ruby3.4-erb 34
sudo alternatives --install /usr/bin/racc racc /usr/bin/ruby3.4-racc 34
sudo alternatives --install /usr/bin/rdoc rdoc /usr/bin/ruby3.4-rdoc 34
sudo alternatives --install /usr/bin/ri ri /usr/bin/ruby3.4-ri 34
```

 El valor de prioridad (por ejemplo, 34 para Ruby 3.4, 32 para Ruby 3.2) debe coincidir con la prioridad utilizada en la entrada principal alternativa de *Ruby*. Una vez registradas, las herramientas complementarias se administrarán automáticamente junto con la alternativa a *Ruby*. 

 La herramienta de *alternativas* proporciona un único comando para cambiar de una versión de Ruby a otra. De forma predeterminada, la herramienta de *alternativas* está configurada para estar en modo automático, que usa prioridades para determinar la versión de Ruby actualmente activa. Sin embargo, puede activar cualquier versión instalada en cualquier momento. Actualmente, todas las versiones compatibles de Ruby tienen la misma prioridad, lo que significa que la primera versión instalada se activará automáticamente. 

**Algunos ejemplos útiles del uso de las *alternativas***

1. Compruebe para qué *alternativas* está configurada

   ```
   alternatives --list
   ```

1. Comprueba la configuración actual de *ruby*

   ```
   alternatives --display ruby
   ```

1. Cambie la versión de Ruby de forma interactiva

   ```
   alternatives --config ruby
   ```

1. Cambie al modo manual y seleccione una versión específica

   ```
   alternatives --set ruby /usr/bin/ruby{MAJOR.MINOR}
   ```

1. Vuelva al modo de selección automática de versión

   ```
   alternatives --auto ruby
   ```