Cargo パッケージの復元 (CLI)

Azure Artifacts を使用すると、開発者は、直接発行された場合でもアップストリーム ソースから保存された場合でも、フィードでさまざまなパッケージの種類をホストできます。 このガイドは、プロジェクトを設定し、Azure Artifacts フィードで認証し、コマンド ラインを使用して、フィードから Cargo パッケージを直接復元するのに役立ちます。

[前提条件]

製品 必要条件
Azure DevOps - Azure DevOps 組織
- Azure DevOps プロジェクト
- rustup をダウンロードしてインストールします。 Cargo バージョン 1.74.0 以降が必要です。

フィードの作成

Azure Artifacts で Rust クレートを使用して発行するには、2 つの異なるフィードを使用することをお勧めします。1 つは 、crates.io からクレートを使用するための専用フィードと、内部クレートを発行するための別のフィードです。 詳細については、 ソース置換 を参照してください。 フィードをまだ設定していない場合は、次の方法でフィードを作成します。

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. [ Artifacts]\(成果物\) を選択し、フィードを作成します。

  3. フィードの 名前 を指定し、 その可視性を設定します。 フィードが crates.io からクレートを使用することを目的としている場合は、 一般的なパブリック ソースのパッケージを含めるオプションをオンにします。 フィードがプライベート パッケージを発行する場合は、そのオプションをオフのままにします。 最後に、フィードに適した スコープ を選択します。 組織全体のスコープよりも、フィードを特定のプロジェクトにスコープ設定することをお勧めします。

  4. 終わったら [作成] を選択します。

    Azure Artifacts で新しいフィードを作成する方法を示すスクリーンショット。

パッケージの復元

依存関係を復元するには、[dependencies]の下のCargo.tomlに依存関係が一覧表示されていることを確認します。 replace-with構成を使用してアップストリーム フィードを通じて crates.io からクレートを参照する場合は、次のように指定します。

[dependencies]
CRATE_NAME = "VERSION_NUMBER"

プライベート Azure Artifacts フィードからクレートを参照する場合は、レジストリを明示的に指定する必要があります。

[dependencies]
CRATE_NAME = { version = "VERSION_NUMBER", registry = "FEED_NAME" }
  1. フィードでまだ認証していない場合は、 Project セットアップ の手順に従って構成ファイルを構成し、資格情報プロバイダーを設定し、レジストリにログインします。

  2. プロジェクト ディレクトリで次のコマンドを実行してプロジェクトをビルドし、フィードから依存関係を復元します。

    cargo build
    

ダウンロードしたクレートは、レジストリ ハッシュがフィード URL に基づく一意の識別子である~/.cargo/registry/cache/<registry-hash>/にローカルにキャッシュされます。

cargo fetch コマンドの結果を示すスクリーンショット。