

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

 [https://www.ruby-lang.org/en/](https://www.ruby-lang.org/en/)in AL2023 wird durch die Versionen 3.2 und 3.4 repräsentiert. Amazon Linux folgt dem Upstream-Supportplan und der Support-Status jeder Ruby Version kann jederzeit auf der [Ruby-Website](https://www.ruby-lang.org/en/) überprüft werden. Alle unterstützten Ruby Versionen haben einen Namespace und können gleichzeitig auf demselben System installiert werden. Namespacing stellt sicher, dass jede Ruby Installation innerhalb des Dateisystems einzigartig ist. Dies wird erreicht, indem wichtige Verzeichnisse und Dateien auf der Grundlage der Laufzeitversion umbenannt werden. Die tatsächlichen Namen der ausführbaren Dateien werden wie *ruby {MAJOR.MINOR}* aussehen (z. B. oder). `ruby3.2` `ruby3.4` Ruby3.4 stellt auch die Binärdatei mit Namensraum MRI (Matz's Ruby Interpreter) bereit`ruby3.4-mri`, die sich auf die standardmäßige C-basierte Referenzimplementierung von bezieht. Ruby Es kann jedoch jeweils nur eine Ruby Version aktiv sein. Diese aktive Version stellt die Standardverzeichnisse und Dateinamen wie *Ruby*, *Gem* oder *Bundle* bereit und verweist auf die aktuell aktive Runtime. 

 Dies wird mithilfe der Funktionen des Tools *Alternatives* erreicht. Es ist wichtig, sich daran zu erinnern, dass die Standardnamen der ausführbaren Dateien virtuell sind und sich jederzeit ändern können, wenn auf eine andere installierte Ruby Version verwiesen wird. Diese Flexibilität ermöglicht es Software, die *Ruby* quasi verwendet, die gewünschte Version auszuwählen, wenn sie aufgerufen wird. Wenn jedoch eine bestimmte Version von erforderlich Ruby ist, kann die Persistenz der Version durch Aufrufen der ausführbaren Datei mit einem Namensraum (z. B. `ruby3.2` oder`ruby3.4`) erreicht werden, die immer die angegebene Version der Laufzeit verwendet. Darüber hinaus sind die ausführbaren Dateien der *Gem* - und *Bundler-Tools* mit Namespace, wie,, oder, oder `ruby3.2-gem``ruby3.4-gem`, immer der entsprechenden `ruby3.2-bundler` Version zugeordnet`ruby3.4-bundler`, unabhängig von der aktuell aktiven Laufzeit. Ruby 

 Rubywird als mehrere Namespace-Pakete verteilt, die mit "" beginnen. `ruby{MAJOR.MINOR}` Diese Pakete stellen *Ruby*, kompatible Versionen der *Gem* - und *Bundler-Tools*, Dokumentation, Bibliotheken und mehr bereit. Zum Beispiel wird die Ruby Core-3.2-Runtime durch das `ruby3.2` Paket bereitgestellt, das (*Gem* bereitstellt) und `ruby3.2-rubygems` `ruby3.2-rubygem-bundler` (*Bundle und *Bundler** bereitstellt) als Abhängigkeiten einbezieht. 

 Nach der Installation einer Ruby Version werden die Einträge für Begleittools in der Konfiguration der *Alternativen* möglicherweise als Null angezeigt. Dies kann durch Ausführen überprüft werden`alternatives --display ruby`. Wenn Einträge als Null angezeigt werden, müssen sie manuell mit dem Befehl registriert werden`alternatives --install`. Um beispielsweise alle Begleittools für Ruby 3.4 zu registrieren: 

```
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
```

 Der Prioritätswert (z. B. 34 für Ruby 3.4, 32 für Ruby 3.2) sollte der Priorität entsprechen, die im alternativen Haupteintrag für *Ruby* verwendet wurde. Nach der Registrierung werden die Begleittools zusammen mit der *Ruby-Alternative* automatisch verwaltet. 

 Das *Alternativ-Tool* bietet einen einzigen Befehl zum Umschalten zwischen Ruby Versionen. Standardmäßig ist *Alternatives* so konfiguriert, dass es sich im auto Modus befindet, der Prioritäten verwendet, um die aktuell aktive Ruby Version zu ermitteln. Sie können jedoch jede installierte Version jederzeit aktivieren. Derzeit Ruby haben alle unterstützten Versionen von die gleiche Priorität, was bedeutet, dass die erste installierte Version automatisch aktiviert wird. 

**Einige nützliche Beispiele für die Verwendung von *Alternativen***

1. Prüfen Sie, für welche *Alternativen* konfiguriert ist

   ```
   alternatives --list
   ```

1. Überprüfe die aktuelle Konfiguration von *Ruby*

   ```
   alternatives --display ruby
   ```

1. Ändern Sie interaktiv die Version Ruby

   ```
   alternatives --config ruby
   ```

1. Wechseln Sie in den manuellen Modus und wählen Sie eine bestimmte Version

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

1. Wechseln Sie zurück zum auto Versionsauswahlmodus

   ```
   alternatives --auto ruby
   ```