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
Rubyruby3.2 ruby3.4 Ruby3.4 stellt auch die Binärdatei mit Namensraum MRI (Matz's Ruby Interpreter) bereitruby3.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 oderruby3.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-gemruby3.4-gem, immer der entsprechenden ruby3.2-bundler Version zugeordnetruby3.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 werdenalternatives --display ruby. Wenn Einträge als Null angezeigt werden, müssen sie manuell mit dem Befehl registriert werdenalternatives --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
-
Prüfen Sie, für welche Alternativen konfiguriert ist
alternatives --list -
Überprüfe die aktuelle Konfiguration von Ruby
alternatives --display ruby -
Ändern Sie interaktiv die Version Ruby
alternatives --config ruby -
Wechseln Sie in den manuellen Modus und wählen Sie eine bestimmte Version
alternatives --set ruby /usr/bin/ruby{MAJOR.MINOR} -
Wechseln Sie zurück zum auto Versionsauswahlmodus
alternatives --auto ruby