Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

CodeArtifact での Swift パッケージマネージャーの設定

フォーカスモード
CodeArtifact での Swift パッケージマネージャーの設定 - CodeArtifact

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Swift Package Manager を使用して AWS CodeArtifact にパッケージを発行したり、CodeArtifact からパッケージを使用したりするには、まず CodeArtifact リポジトリにアクセスするための認証情報を設定する必要があります。CodeArtifact の認証情報とリポジトリエンドポイントに Swift パッケージマネージャー CLI を設定するには、aws codeartifact login コマンドの使用を推奨します。Swift パッケージマネージャーは、手動で設定することもできます。

login コマンドを使用して Swift を設定する

aws codeartifact login コマンドを使用して、CodeArtifact で Swift パッケージマネージャーを設定します。

注記

login コマンドを使用するには Swift 5.8 以降が必要で、Swift 5.9 以降の使用を推奨します。

aws codeartifact login コマンドは、次の操作を行います。

  1. CodeArtifact から認証トークンを取得して、認証トークンを環境変数に保存します。認証情報の保存方法は、環境のオペレーティングシステムによって異なります。

    1. macOS: macOS キーチェーンアプリケーションにエントリが作成されます。

    2. Linux および Windows: ~/.netrc ファイルにエントリが作成されます。

    どちらのオペレーティングシステムの場合でも、認証情報エントリが存在する場合、このコマンドは既存のエントリを新しいトークンに置き換えます。

  2. CodeArtifact リポジトリのエンドポイント URL を取得し、Swift 設定ファイルに追加します。このコマンドは、リポジトリのエンドポイント URL を、/path/to/project/.swiftpm/configuration/registries.json にあるプロジェクトレベルの設定ファイルに追加します。

注記

aws codeartifact login コマンドは、実行が必要な swift package-registry コマンドを、Package.swift ファイルを含むディレクトリから呼び出します。そのため、aws codeartifact login コマンドは Swift プロジェクト内から実行する必要があります。

login コマンドを使用して Swift を設定するには
  1. プロジェクトの Package.swift ファイルが含まれている Swift プロジェクトディレクトリに移動します。

  2. 次の aws codeartifact login コマンドを実行します。

    所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。

    aws codeartifact login --tool swift --domain my_domain \ --domain-owner 111122223333 --repository my_repo \ [--namespace my_namespace]

--namespace オプションは、CodeArtifact リポジトリのパッケージが指定された名前空間にある場合にのみ、パッケージを使用するようにアプリケーションを設定します。CodeArtifact の名前空間はスコープと同義であり、コードを論理グループに整理したり、コードベースに複数のライブラリが含まれている場合に発生する可能性のある名前の競合を防ぐために使用されます。

login を呼び出した後のデフォルトの認可時間は 12 時間であり、トークンを定期的に更新するには、login を呼び出す必要があります。login コマンドで作成される認可トークンの詳細については、「loginコマンドで作成されたトークン」を参照してください。

login コマンドを使用せずに Swift を設定する

aws codeartifact login コマンドを使用して Swift を設定することを推奨しますが、Swift パッケージマネージャーの設定を手動で更新することで、login コマンドを使用せずに Swift パッケージマネージャーを設定することもできます。

次の手順では、 AWS CLI を使用して以下を実行します。

  1. CodeArtifact から認証トークンを取得して、認証トークンを環境変数に保存します。認証情報の保存方法は、環境のオペレーティングシステムによって異なります。

    1. macOS: macOS キーチェーンアプリケーションにエントリが作成されます。

    2. Linux および Windows: ~/.netrc ファイルにエントリが作成されます。

  2. CodeArtifact リポジトリのエンドポイント URL を取得します。

  3. ~/.swiftpm/configuration/registries.json 設定ファイルに、リポジトリのエンドポイント URL と認証タイプを含むエントリを追加します。

login コマンドを使用せずに Swift を設定するには
  1. コマンドラインで以下のコマンドを使用して、CodeArtifact 認可トークンを取得し、認可トークンを環境変数に保存します。

    • my_domain を CodeArtifact ドメイン名に置き換えます。

    • 111122223333 「」をドメイン所有者の AWS アカウント ID に置き換えます。所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。

    macOS and Linux
    export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
    Windows
    • Windows (デフォルトのコマンドシェルを使用):

      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
    export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
  2. 次のコマンドを実行して、CodeArtifact リポジトリのエンドポイントを取得します。リポジトリエンドポイントは、パッケージを使用または公開するリポジトリを Swift パッケージマネージャーに示すために使用されます。

    • my_domain を CodeArtifact ドメイン名に置き換えます。

    • 111122223333 「」をドメイン所有者の AWS アカウント ID に置き換えます。所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。

    • my_repo を CodeArtifact リポジトリ名で置き換えます。

    macOS and Linux
    export CODEARTIFACT_REPO=`aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format swift --query repositoryEndpoint --output text`
    Windows
    • Windows (デフォルトのコマンドシェルを使用):

      for /f %i in ('aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format swift --query repositoryEndpoint --output text') do set CODEARTIFACT_REPO=%i
    • Windows PowerShell:

      $env:CODEARTIFACT_REPO = aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format swift --query repositoryEndpoint --output text
    export CODEARTIFACT_REPO=`aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format swift --query repositoryEndpoint --output text`

    次の URL は、リポジトリエンドポイントの例です。

    https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/swift/my_repo/
    注記

    デュアルスタックエンドポイントを使用するには、codeartifact.region.on.awsエンドポイントを使用します。

    重要

    Swift パッケージマネージャーの設定に使用する場合は、リポジトリの URL エンドポイントの末尾に login を追加する必要があります。これはこの手順のコマンドで自動的に行われます。

  3. これら 2 つの値を環境変数に格納したら、以下のように swift package-registry login コマンドを使用して Swift に渡します。

    macOS and Linux
    swift package-registry login ${CODEARTIFACT_REPO}login --token ${CODEARTIFACT_AUTH_TOKEN}
    Windows
    • Windows (デフォルトのコマンドシェルを使用):

      swift package-registry login %CODEARTIFACT_REPO%login --token %CODEARTIFACT_AUTH_TOKEN%
    • Windows PowerShell:

      swift package-registry login $Env:CODEARTIFACT_REPO+"login" --token $Env:CODEARTIFACT_AUTH_TOKEN
    swift package-registry login ${CODEARTIFACT_REPO}login --token ${CODEARTIFACT_AUTH_TOKEN}
  4. 次に、アプリケーションが使用するパッケージレジストリを更新して、依存関係が CodeArtifact リポジトリから取得されるようにします。このコマンドは、パッケージの依存関係を解決しようとしているプロジェクトディレクトリで実行する必要があります。

    macOS and Linux
    $ swift package-registry set ${CODEARTIFACT_REPO} [--scope my_scope]
    Windows
    • Windows (デフォルトのコマンドシェルを使用):

      $ swift package-registry set %CODEARTIFACT_REPO% [--scope my_scope]
    • Windows PowerShell:

      $ swift package-registry set $Env:CODEARTIFACT_REPO [--scope my_scope]
    $ swift package-registry set ${CODEARTIFACT_REPO} [--scope my_scope]

    --scope オプションは、CodeArtifact リポジトリのパッケージが指定されたスコープにある場合にのみ、パッケージを使用するようにアプリケーションを設定します。スコープは CodeArtifact の名前空間と同義であり、コードを論理グループに整理したり、コードベースに複数のライブラリが含まれている場合に発生する可能性のある名前の競合を防ぐために使用されます。

  5. プロジェクトディレクトリで以下のコマンドを実行しプロジェクトレベルの .swiftpm/configuration/registries.json ファイルの内容を表示することで、正しく設定されたことを確認できます。

    $ cat .swiftpm/configuration/registries.json { "authentication" : { }, "registries" : { "[default]" : { "url" : "https://my-domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/swift/my-repo/" } }, "version" : 1 }

CodeArtifact リポジトリでの Swift パッケージマネージャーの設定は以上です。これで Swift パッケージマネージャーを使用して Swift パッケージをリポジトリに公開したり、リポジトリから Swift パッケージを使用したりできるようになります。詳細については、「Swift パッケージの使用と公開」を参照してください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.