レジストリ
依存関係の数が増えると、それらを解決する時間も増えます。CocoaPods](https://cocoapods.org/)やnpmのような他のパッケージマネージャは集中管理されていますが、Swift Package Managerはそうではありません。そのため、SwiftPM は各リポジトリのディープクローンを行うことで依存関係を解決する必要があり、集中型のアプローチよりも時間がかかり、より多くのメモリを消費します。これに対処するために、TuistはPackage Registryの実装を提供し、実際に必要なコミットだけをダウンロードできるようにしています 。レジストリ内のパッケージはSwift Package Indexに基づいています。- もしそこでパッケージを見つけることができれば、そのパッケージはTuistレジストリでも利用可能です。さらに、パッケージは、それらを解決する際の待ち時間を最小にするために、エッジストレージを使用して世界中に分散されています。
使用法
レジストリを設定するには、プロジェクトのディレクトリで以下のコマンドを実行する:
bash
tuist registry setupこのコマンドは、あなたのプロジェクトでレジストリを有効にするレジストリ設定ファイルを生成します。あなたのチームもレジストリの恩恵を受けられるように、このファイルがコミットされていることを確認してください。
認証 (オプ シ ョ ナル) {#authentication} 認証。
認証はオプションである 。認証なしでは、IPアドレスごとに1分あたり1,000リクエスト のレート制限でレジストリを使用できます。より高いレート制限20,000リクエスト/分 を得るには、認証を実行してください:
bash
tuist registry login::: 情報
認証にはTuistアカウントとプロジェクトが必要です。
:::
依存関係の解決
ソース・コントロールからではなくレジストリから依存関係を解決するには、プロジェクトのセットアップに基づいて読み進めてください:
CI上でレジストリを設定するには、このガイドに従ってください:継続的インテグレーション.
パッケージ・レジストリ識別子 {#package-registry-identifiers}.
Package.swift またはProject.swift ファイルでパッケージのレジストリ識別子を使用する場合は、パッケージの URL をレジストリの規約に変換する必要があります。レジストリ識別子は常に{organization}.{repository} の形式です。たとえば、https://github.com/pointfreeco/swift-composable-architecture パッケージのレジストリを使用する場合、パッケージのレジストリ識別子はpointfreeco.swift-composable-architecture となります。
::: 情報
識別子には複数のドットを含めることはできません。リポジトリ名にドットが含まれる場合は、アンダースコアに置き換えられます。例えば、https://github.com/groue/GRDB.swift パッケージは、レジストリ識別子groue.GRDB_swift を持つことになります。
:::
