

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.

# CodeArtifact Mit Ruby verwenden
<a name="using-ruby"></a>

In diesen Themen wird beschrieben, wie Sie die Tools RubyGems und Bundler mit verwenden, um CodeArtifact Ruby-Gems zu installieren und zu veröffentlichen.

**Anmerkung**  
CodeArtifact empfiehlt Ruby 3.3 oder höher und funktioniert nicht mit Ruby 2.6 oder älter.

**Topics**
+ [und Bundler konfigurieren RubyGems und verwenden](configure-use-rubygems-bundler.md)
+ [

# RubyGems Befehlsunterstützung
](ruby-command-support.md)
+ [Bundler-Kompatibilität](bundler-compatibility.md)

# Konfiguration und Verwendung von RubyGems und Bundler mit CodeArtifact
<a name="configure-use-rubygems-bundler"></a>

Nachdem Sie ein Repository in erstellt haben CodeArtifact, können Sie RubyGems (`gem`) und Bundler (`bundle`) verwenden, um Gems zu installieren und zu veröffentlichen. In diesem Thema wird beschrieben, wie Sie die Paketmanager so konfigurieren, dass sie sich bei einem CodeArtifact Repository authentifizieren und dieses verwenden.

## Configure RubyGems (`gem`) und Bundler (`bundle`) mit CodeArtifact
<a name="configure-ruby-gem"></a>

Um RubyGems (`gem`) oder Bundler (`bundle`) zu verwenden, um Gems zu veröffentlichen oder von dort Gems zu konsumieren AWS CodeArtifact, müssen Sie sie zunächst mit Ihren CodeArtifact Repository-Informationen konfigurieren, einschließlich der Zugangsdaten für den Zugriff darauf. Folgen Sie den Schritten in einem der folgenden Verfahren, um die Tools `gem` und `bundle` CLI mit Ihren CodeArtifact Repository-Endpunktinformationen und Anmeldeinformationen zu konfigurieren.

### Configure RubyGems and Bundler mithilfe der Konsolenanweisungen
<a name="configure-ruby-gem-console"></a>

Sie können die Konfigurationsanweisungen in der Konsole verwenden, um Ihre Ruby-Paketmanager mit Ihrem CodeArtifact Repository zu verbinden. Die Konsolenanweisungen enthalten benutzerdefinierte Befehle, die Sie ausführen können, um Ihre Paketmanager einzurichten, ohne Ihre CodeArtifact Informationen suchen und eingeben zu müssen.

1. Öffnen Sie die AWS CodeArtifact Konsole unter [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1. Wählen Sie im Navigationsbereich **Repositories** und dann das Repository aus, das Sie für die Installation oder Übertragung von Ruby Gems verwenden möchten.

1. Wählen Sie **Verbindungsanweisungen anzeigen**.

1. Wählen Sie Ihr Betriebssystem.

1. Wählen Sie den Ruby-Paketmanager-Client aus, den Sie mit Ihrem CodeArtifact Repository konfigurieren möchten.

1. Folgen Sie den generierten Anweisungen, um den Package Manager-Client so zu konfigurieren, dass er Ruby-Gems aus dem Repository installiert oder Ruby-Gems im Repository veröffentlicht.

### Manuelles Konfigurieren RubyGems und Bündeln
<a name="configure-ruby-gem-manual"></a>

Wenn Sie die Konfigurationsanweisungen von der Konsole aus nicht verwenden können oder wollen, können Sie die folgenden Anweisungen verwenden, um manuell eine Verbindung zwischen Ihren Ruby-Paketmanagern und Ihrem CodeArtifact Repository herzustellen. 

1. Verwenden Sie in einer Befehlszeile den folgenden Befehl, um ein CodeArtifact Autorisierungstoken abzurufen und es in einer Umgebungsvariablen zu speichern.
   + Ersetzen Sie es *my\$1domain* durch Ihren CodeArtifact Domainnamen.
   + *111122223333*Ersetzen Sie es durch die AWS Konto-ID des Inhabers der Domain. Wenn Sie auf ein Repository in einer Domain zugreifen, die Sie besitzen, müssen Sie nichts angeben`--domain-owner`. Weitere Informationen finden Sie unter [Kontenübergreifende Domänen](domain-overview.md#domain-overview-cross-account).

------
#### [ macOS and Linux ]

   ```
   export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
   ```

------
#### [ Windows ]
   + Windows (unter Verwendung der Standard-Befehlsshell):

     ```
     for /f %i in ('aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text') do set CODEARTIFACT_AUTH_TOKEN=%i
     ```
   + Windows PowerShell:

     ```
     $env:CODEARTIFACT_AUTH_TOKEN = aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text
     ```

------

1. Um Ruby-Gems in Ihrem Repository zu veröffentlichen, verwenden Sie den folgenden Befehl, um den Endpunkt Ihres CodeArtifact Repositorys abzurufen und ihn in der `RUBYGEMS_HOST` Umgebungsvariablen zu speichern. Die `gem` CLI verwendet diese Umgebungsvariable, um zu bestimmen, wo Gems veröffentlicht werden.
**Anmerkung**  
Anstatt die `RUBYGEMS_HOST` Umgebungsvariable zu verwenden, können Sie dem Repository-Endpunkt bei der Verwendung des `gem push` Befehls `--host` diese Option zur Verfügung stellen.
   + Ersetze es *my\$1domain* durch deinen CodeArtifact Domainnamen.
   + *111122223333*Ersetzen Sie es durch die AWS Konto-ID des Inhabers der Domain. Wenn Sie auf ein Repository in einer Domain zugreifen, die Sie besitzen, müssen Sie nichts angeben`--domain-owner`. Weitere Informationen finden Sie unter [Kontenübergreifende Domänen](domain-overview.md#domain-overview-cross-account).
   + Ersetze es *my\$1repo* durch deinen CodeArtifact Repository-Namen.

------
#### [ macOS and Linux ]

   ```
   export RUBYGEMS_HOST=`aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format ruby --query repositoryEndpoint --output text | sed 's:/*$::'`
   ```

------
#### [ Windows ]

   Die folgenden Befehle rufen den Repository-Endpunkt ab, kürzen die nachfolgenden `/` Befehle und speichern sie dann in einer Umgebungsvariablen.
   + Windows (unter Verwendung der Standard-Befehlsshell):

     ```
     for /f %i in ('aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format ruby --query repositoryEndpoint --output text') do set RUBYGEMS_HOST=%i
                                     
     set RUBYGEMS_HOST=%RUBYGEMS_HOST:~0,-1%
     ```
   + Windows PowerShell:

     ```
     $env:RUBYGEMS_HOST = (aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format ruby --query repositoryEndpoint --output text).TrimEnd("/")
     ```

------

   Die folgende URL ist ein Beispiel für einen Repository-Endpunkt:

   ```
   https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/
   ```
**Anmerkung**  
Um einen Dual-Stack-Endpunkt zu verwenden, verwenden Sie den `codeartifact.region.on.aws` Endpunkt.

1. Um Ruby-Gems in Ihrem Repository zu veröffentlichen, müssen Sie sich CodeArtifact bei authentifizieren, RubyGems indem Sie Ihre `~/.gem/credentials` Datei so bearbeiten, dass sie Ihr Authentifizierungstoken enthält. Erstellen Sie ein `~/.gem/` Verzeichnis und eine `~/.gem/credentials` Datei, falls das Verzeichnis oder die Datei nicht existiert.

------
#### [ macOS and Linux ]

   ```
   echo ":codeartifact_api_key: Bearer $CODEARTIFACT_AUTH_TOKEN" >> ~/.gem/credentials
   ```

------
#### [ Windows ]
   + Windows (unter Verwendung der Standard-Befehlsshell):

     ```
     echo :codeartifact_api_key: Bearer %CODEARTIFACT_AUTH_TOKEN% >> %USERPROFILE%/.gem/credentials
     ```
   + Windows PowerShell:

     ```
     echo ":codeartifact_api_key: Bearer $env:CODEARTIFACT_AUTH_TOKEN" | Add-Content ~/.gem/credentials
     ```

------

1. Um Ruby Gems aus Ihrem Repository `gem` zu installieren, müssen Sie Ihrer `.gemrc` Datei die Repository-Endpunktinformationen und das Authentifizierungstoken hinzufügen. Sie können es der Globaldatei (`~/.gemrc`) oder Ihrer `.gemrc` Projektdatei hinzufügen. Die CodeArtifact Informationen, die Sie hinzufügen müssen, sind `.gemrc` eine Kombination aus dem Repository-Endpunkt und dem Authentifizierungstoken. Sie ist wie folgt formatiert:

   ```
   https://aws:${CODEARTIFACT_AUTH_TOKEN}@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/
   ```
   + Für das Authentifizierungstoken können Sie die `CODEARTIFACT_AUTH_TOKEN` Umgebungsvariable verwenden, die in einem früheren Schritt festgelegt wurde.
   + Um den Repository-Endpunkt abzurufen, können Sie den Wert der `RUBYGEMS_HOST` Umgebungsvariablen lesen, die zuvor festgelegt wurde, oder Sie können den folgenden `get-repository-endpoint` Befehl verwenden und die Werte nach Bedarf ersetzen:

     ```
     aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format ruby --query repositoryEndpoint --output text
     ```

   Wenn Sie den Endpunkt gefunden haben, fügen Sie ihn mit einem Texteditor `aws:${CODEARTIFACT_AUTH_TOKEN}@` an der entsprechenden Position hinzu. Sobald Sie den Repository-Endpunkt und die Authentifizierungstoken-Zeichenfolge erstellt haben, fügen Sie sie mit dem folgenden `echo` Befehl zum `:sources:` Abschnitt Ihrer `.gemrc` Datei hinzu:
**Warnung**  
CodeArtifact unterstützt das Hinzufügen von Repositorys als Quellen mit dem `gem sources -add` Befehl nicht. Sie müssen die Quelle direkt zur Datei hinzufügen.

------
#### [ macOS and Linux ]

   ```
   echo ":sources:
       - https://aws:${CODEARTIFACT_AUTH_TOKEN}@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/" > ~/.gemrc
   ```

------
#### [ Windows ]
   + Windows (unter Verwendung der Standard-Befehlsshell):

     ```
     echo ":sources:
         - https://aws:%CODEARTIFACT_AUTH_TOKEN%@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/" > "%USERPROFILE%\.gemrc"
     ```
   + Windows PowerShell:

     ```
     echo ":sources:
         - https://aws:$env:CODEARTIFACT_AUTH_TOKEN@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/" | Add-Content ~/.gemrc
     ```

------

1. Um Bundler zu verwenden, müssen Sie Bundler mit Ihrer Repository-Endpunkt-URL und Ihrem Authentifizierungstoken konfigurieren, indem Sie den folgenden `bundle config` Befehl ausführen:

------
#### [ macOS and Linux ]

   ```
   bundle config $RUBYGEMS_HOST aws:$CODEARTIFACT_AUTH_TOKEN 
   ```

------
#### [ Windows ]
   + Windows (unter Verwendung der Standard-Befehlsshell):

     ```
     bundle config %RUBYGEMS_HOST% aws:%CODEARTIFACT_AUTH_TOKEN%
     ```
   + Windows PowerShell:

     ```
     bundle config $Env:RUBYGEMS_HOST aws:$Env:CODEARTIFACT_AUTH_TOKEN
     ```

------

Nachdem Sie nun RubyGems (`gem`) und Bundler (`bundle`) mit Ihrem CodeArtifact Repository konfiguriert haben, können Sie sie verwenden, um Ruby-Gems zu veröffentlichen und daraus zu nutzen.

## Ruby-Gems installieren von CodeArtifact
<a name="install-ruby-gems"></a>

Verwenden Sie die folgenden Verfahren, um Ruby Gems aus einem CodeArtifact Repository mit den Tools `gem` oder `bundle` CLI zu installieren.

### Installieren Sie Ruby Gems mit `gem`
<a name="install-ruby-gems-gem"></a>

Sie können die CLI RubyGems (`gem`) verwenden, um schnell eine bestimmte Version eines Ruby-Gems aus Ihrem CodeArtifact Repository zu installieren.

**Um Ruby-Gems aus einem CodeArtifact Repository zu installieren mit `gem`**

1. Falls nicht, folgen Sie den Schritten unter So konfigurieren Sie die `gem` CLI so, dass sie Ihr CodeArtifact Repository mit den richtigen Anmeldeinformationen verwendet. [Configure RubyGems (`gem`) und Bundler (`bundle`) mit CodeArtifact](#configure-ruby-gem)
**Anmerkung**  
Das generierte Autorisierungstoken ist 12 Stunden gültig. Sie müssen ein neues erstellen, wenn seit der Erstellung eines Tokens 12 Stunden vergangen sind.

1. Verwenden Sie den folgenden Befehl, um Ruby Gems von zu installieren CodeArtifact:

   ```
   gem install my_ruby_gem --version 1.0.0
   ```

### Installieren Sie Ruby Gems mit `bundle`
<a name="install-ruby-gems-bundle"></a>

Sie können die Bundler (`bundle`) CLI verwenden, um die Ruby-Gems zu installieren, die in Ihrem `Gemfile` konfiguriert sind.

**Um Ruby-Gems aus einem CodeArtifact Repository zu installieren mit `bundle`**

1. Falls nicht, folgen Sie den Schritten unter So konfigurieren Sie die `bundle` CLI so, dass sie Ihr CodeArtifact Repository mit den richtigen Anmeldeinformationen verwendet. [Configure RubyGems (`gem`) und Bundler (`bundle`) mit CodeArtifact](#configure-ruby-gem)
**Anmerkung**  
Das generierte Autorisierungstoken ist 12 Stunden gültig. Sie müssen ein neues erstellen, wenn seit der Erstellung eines Tokens 12 Stunden vergangen sind.

1. Fügen Sie Ihre CodeArtifact Repository-Endpunkt-URL zu Ihrem `Gemfile` AS hinzu`source`, um konfigurierte Ruby-Gems aus Ihrem CodeArtifact Repository und seinen Upstreams zu installieren.

   ```
   source "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/"
                   
   gem 'my_ruby_gem'
   ```

1. Verwenden Sie den folgenden Befehl, um die Ruby-Gems wie in Ihrem `Gemfile` angegeben zu installieren:

   ```
   bundle install
   ```

## Veröffentlichen von Ruby-Gems auf CodeArtifact
<a name="publish-ruby-gems-gem"></a>

Gehen Sie wie folgt vor, um Ruby-Gems mithilfe der `gem` CLI in einem CodeArtifact Repository zu veröffentlichen.

1. Falls nicht, folgen Sie den Schritten unter So konfigurieren Sie die `gem` CLI so, dass sie Ihr CodeArtifact Repository mit den richtigen Anmeldeinformationen verwendet. [Configure RubyGems (`gem`) und Bundler (`bundle`) mit CodeArtifact](#configure-ruby-gem)
**Anmerkung**  
Das generierte Autorisierungstoken ist 12 Stunden gültig. Sie müssen ein neues erstellen, wenn seit der Erstellung eines Tokens 12 Stunden vergangen sind.

1. Verwenden Sie den folgenden Befehl, um Ruby-Gems in einem CodeArtifact Repository zu veröffentlichen. Beachten Sie, dass Sie, wenn Sie die `RUBYGEMS_HOST` Umgebungsvariable nicht festgelegt haben, Ihren CodeArtifact Repository-Endpunkt in der `--host` Option angeben müssen.

   ```
   gem push --key codeartifact_api_key my_ruby_gem-0.0.1.gem
   ```

# RubyGems Befehlsunterstützung
<a name="ruby-command-support"></a>

CodeArtifact unterstützt die `gem push` Befehle `gem install` und. CodeArtifact unterstützt die folgenden `gem` Befehle nicht:
+ `gem fetch`
+ `gem info --remote`
+ `gem list --remote`
+ `gem mirror`
+ `gem outdated`
+ `gem owner`
+ `gem query`
+ `gem search`
+ `gem signin`
+ `gem signout`
+ `gem sources --add`
+ `gem sources --update`
+ `gem specification --remote`
+ `gem update`
+ `gem yank`

# Bundler-Kompatibilität
<a name="bundler-compatibility"></a>

 Dieses Handbuch enthält Informationen CodeArtifact zur Kompatibilität mit Bundler. 

## Bundler-Kompatibilität
<a name="ruby-bundler-support"></a>

AWS CodeArtifact empfiehlt Bundler 2.4.11 oder höher. Wenn Sie Probleme bei der Installation haben, aktualisieren Sie die Bundler-CLI auf die neueste Version.

### Unterstützung für Bundler-Versionen
<a name="ruby-bundler-version-support"></a>

In Bundler-Versionen vor 2.4.11 gibt es ein Limit von 500 Abhängigkeiten, die im Gemfile definiert werden können, bevor Bundler beschließt, den vollständigen Index abzufragen. `specs.4.8.gz` Da der vollständige Index CodeArtifact nicht unterstützt wird, funktioniert die Angabe von mehr als 500 Abhängigkeiten nicht, CodeArtifact wenn Bundler-Versionen unter 2.4.11 verwendet werden.

Um mehr als 500 Abhängigkeiten in Ihrem Gemfile mit zu definieren CodeArtifact, aktualisieren Sie Bundler auf Version 2.4.11 oder höher.

### Unterstützung für Bundler-Operationen
<a name="ruby-bundler-operations-support"></a>

CodeArtifactDie Unterstützung für RubyGems beinhaltet nicht den Bundler Compact Index APIs (die `/versions` API wird nicht unterstützt). CodeArtifact unterstützt nur die Dependencies-API.

 CodeArtifact Unterstützt außerdem nicht die verschiedenen Spezifikationen APIs, wie `specs.4.8.gz` z.