

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

 [https://www.ruby-lang.org/en/](https://www.ruby-lang.org/en/)in AL2023 est représenté par les versions 3.2 et 3.4. Amazon Linux suit le calendrier de support en amont et l'état du support de n'importe quelle Ruby version peut toujours être vérifié sur le [site Web de Ruby](https://www.ruby-lang.org/en/). Toutes les Ruby versions prises en charge sont dotées d'un espace de noms et peuvent être installées simultanément sur le même système. L'espacement de noms garantit que chaque Ruby installation est unique au sein du système de fichiers. Ceci est réalisé en renommant les répertoires et les fichiers clés en fonction de la version d'exécution. Les noms réels des exécutables ressembleront à *ruby {MAJOR.MINOR}* (par exemple, `ruby3.2` ou`ruby3.4`). Ruby3.4 fournit également le binaire avec espace de noms MRI (Matz's Ruby Interpreter)`ruby3.4-mri`, qui fait référence à l'implémentation de référence standard basée sur le C de. Ruby Cependant, une seule Ruby version peut être active à la fois. Cette version active fournit les répertoires et les noms de fichiers par défaut, tels que *ruby*, *gem* ou *bundle*, en les pointant vers le runtime actuellement actif. 

 Ceci est réalisé en utilisant les fonctionnalités de l'outil *des alternatives*. Il est important de se rappeler que les noms des exécutables par défaut sont virtuels et peuvent changer à tout moment lorsque vous pointez vers une autre Ruby version installée. Cette flexibilité permet aux logiciels qui utilisent *Ruby* in the Shebang de sélectionner la version souhaitée lorsqu'ils sont invoqués. Toutefois, lorsqu'une version spécifique de Ruby est requise, la persistance de la version peut être obtenue en appelant l'exécutable avec espace de noms (par exemple, `ruby3.2` ou`ruby3.4`), qui utilisera toujours la version spécifiée du moteur d'exécution. De plus, les exécutables avec espace de noms des outils *gem* et *bundler*, tels que,, ou `ruby3.2-gem` `ruby3.4-gem``ruby3.2-bundler`, sont toujours associés à la Ruby version correspondante`ruby3.4-bundler`, quel que soit le moteur d'exécution actuellement actif. 

 Rubyest distribué sous la forme de plusieurs packages avec un espace de noms commençant par « »`ruby{MAJOR.MINOR}`. Ces packages fournissent *Ruby*, des versions compatibles des outils *Gem* et *Bundler*, de la documentation, des bibliothèques, etc. Par exemple, le runtime core Ruby 3.2 est fourni par le `ruby3.2` package, qui intègre `ruby3.2-rubygems` (fournissant une *gemme*) et `ruby3.2-rubygem-bundler` (fournissant un *bundle* et un *bundler*) en tant que dépendances. 

 Après l'installation d'une Ruby version, les entrées pour les outils complémentaires peuvent s'afficher comme nulles dans la configuration *des alternatives*. Cela peut être vérifié en exécutant`alternatives --display ruby`. Si les entrées apparaissent comme nulles, elles doivent être enregistrées manuellement à l'aide de`alternatives --install`. Par exemple, pour enregistrer tous les outils complémentaires pour la version 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
```

 La valeur de priorité (par exemple, 34 pour Ruby 3.4, 32 pour Ruby 3.2) doit correspondre à la priorité utilisée dans l'entrée alternative principale de *Ruby*. Une fois enregistrés, les outils complémentaires seront gérés automatiquement parallèlement à l'alternative *Ruby*. 

 L'outil *des alternatives* fournit une commande unique pour passer d'une Ruby version à l'autre. Par défaut, les *alternatives* sont configurées pour être en mode auto, qui utilise les priorités pour déterminer la Ruby version actuellement active. Cependant, vous pouvez activer n'importe quelle version installée à tout moment. Actuellement, toutes les versions prises en charge Ruby ont la même priorité, ce qui signifie que la première version installée sera automatiquement activée. 

**Quelques exemples utiles d'utilisation d'*alternatives***

1. Vérifiez quelles *alternatives* sont configurées pour

   ```
   alternatives --list
   ```

1. Vérifiez la configuration actuelle de *Ruby*

   ```
   alternatives --display ruby
   ```

1. Modifier la version de manière interactive Ruby

   ```
   alternatives --config ruby
   ```

1. Passez en mode manuel et sélectionnez une version spécifique

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

1. Revenir en mode de sélection automatique des versions

   ```
   alternatives --auto ruby
   ```