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.
Bundler-Kompatibilität
Dieses Handbuch enthält Informationen CodeArtifact zur Kompatibilität mit Bundler.
Bundler-Kompatibilität
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
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
Bundler löst Ruby-Gem-Abhängigkeiten mithilfe eines von zwei Protokollen auf: der Compact Index API oder der Dependencies API. CodeArtifact unterstützt beide. Bundler 2.4.11 und höher bevorzugen die Compact Index API und greifen auf die Dependencies API zurück, falls sie nicht verfügbar ist. Frühere Versionen verwenden nur die Dependencies API. RubyGems 3.5.19 und höher verwenden die Compact Index API direkt bei der Ausführung. gem install
CodeArtifact unterstützt die folgenden Compact Index-Endpunkte:
GET /versions: Gibt jedes Gem im Repository mit seiner vollständigen Versionsliste zurück. Bündeln und RubyGems verwenden Sie diesen Endpunkt als Einstiegspunkt für die Auflösung von Abhängigkeiten.GET /names: Gibt alle Edelsteinnamen im Repository zurück, alphabetisch sortiert.GET /info/: Gibt die Version, die Abhängigkeit und die erforderlichen Ruby-version Informationen für ein einzelnes Gem zurück.gem-name
Die /names Endpunkte /versions und unterstützen Repositorys, die bis zu 5.000 Gems enthalten. Anfragen an Repositorys, die mehr als 5.000 Gems enthalten, geben einen HTTP 400-Fehler zurück.
CodeArtifact unterstützt auch die Bundler Dependencies API unter. /api/v1/dependencies Eine einzelne Anfrage kann mehrere Edelsteinnamen enthalten. Weitere Informationen darüber, wie Multi-Gem-Anfragen mit dem Kontingent für Leseanfragen pro Sekunde Ihres Kontos gewichtet werden, finden Sie unter. Kontingente in AWS CodeArtifact
Da /versions Daten für jeden Edelstein im Repository /names zurückgegeben werden, werden diese Anfragen CodeArtifact auch nach der Anzahl der zurückgegebenen Gems gewichtet. CI/CDUmgebungen, die gleichzeitig ausgeführt werden, bundle install oder gem install Operationen können gedrosselt werden, selbst wenn die HTTP-Anforderungsrate niedrig erscheint. Wenn Sie während der Ruby-Gem-Auflösung eine Drosselung feststellen, fordern Sie von einem einzigen Konto aus eine Erhöhung des Kontingents für Leseanfragen pro Sekunde an. AWS
Wenn Sie zuvor als Workaround aus CodeArtifact Kompatibilitätsgründen RubyGems auf eine Version unter 3.5.19 gepinnt haben, können Sie diese PIN jetzt entfernen und auf die neueste Version aktualisieren.
CodeArtifact unterstützt die älteren RubyGems Spezifikationsindizes, einschließlich, und, nicht. specs.4.8.gz latest_specs.4.8.gz prerelease_specs.4.8.gz Diese wurden durch die Compact Index API ersetzt.
Die Compact Index-Unterstützung wird getestet
Gehen Sie wie folgt vor, um zu überprüfen, ob die Compact-Index-Auflösung mit Ihrem CodeArtifact Repository korrekt funktioniert:
Wenn Sie zuvor RubyGems an eine Version unter 3.5.19 gepinnt haben, entfernen Sie den Pin:
gem update --systemÜberprüfen Sie Ihre Version RubyGems und die Bundler-Version:
gem --version # Should be 3.5.19 or higher bundle --version # Should be 2.4.11 or higherTesten Sie
gem installmit Ihrem CodeArtifact Repository:gem install <gem-name> --source https://<domain>-<account-id>.d.codeartifact.<region>.amazonaws.com/ruby/<repo>/Testen Sie
bundle installmit ausführlicher Ausgabe, um sicherzustellen, dass Compact Index verwendet wird:bundle install --verbose 2>&1 | grep -i "compact\|/versions\|/info"Sie sollten
/info/<gem-name>eher Anfragen an/versionsund als/api/v1/dependenciessehen.