2.9. プロジェクト依存関係のベンダー
プロジェクト依存関係のベンダーとは、オフライン再分配および再分散のための依存関係のローカルコピーを作成することを意味します。ベンダーの依存関係は、インターネットに接続せずに cargo ビルドツールで使用することができます。
依存関係をベンダーする cargo vendor
コマンドは、cargo プラグイン cargo-vendor により提供されます。
cargo-vendor 0.1.23 をインストールするには、次のコマンドを実行します。
Red Hat Enterprise Linux 7 の場合:
yum install rust-toolset-1.35-cargo-vendor
# yum install rust-toolset-1.35-cargo-vendor
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8 の場合:
dnf install cargo-vendor
# dnf install cargo-vendor
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
cargo プロジェクトのベンダーの依存関係には、プロジェクトディレクトリーに移動し、以下のように cargo
ツールを実行します。
Red Hat Enterprise Linux 7 の場合:
scl enable rust-toolset-1.35 'cargo vendor'
$ scl enable rust-toolset-1.35 'cargo vendor'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8 の場合:
cargo vendor
$ cargo vendor
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これによりディレクトリー vendor
が作成され、このディレクトリーへのすべての依存関係のソースがダウンロードされます。追加の設定手順はコマンドラインに表示されます。
cargo vendor
コマンドは、プラットフォームに依存しない結果の依存関係を収集します。潜在的なすべてのターゲットプラットフォームの依存関係クレートがダウンロードされます。
この cargo vendor
コマンドは、cargo ツールの実験的かつ非実験的なプラグインです。
例2.8 プロジェクト依存関係のベンダー
この例では、例2.6「プロジェクトへの依存関係の追加および cargo で構築」 に従って依存関係で Rust プロジェクト helloworld
を正常にビルドしていることを前提としています。
ディレクトリー helloworld
に移動し、cargo vendor
コマンドを実行して依存関係のあるプロジェクトをベンダーします。
Red Hat Enterprise Linux 7 の場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8 の場合:
cargo vendor
$ cargo vendor
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
結果を確認します。
vendor
ディレクトリーには、helloworld
プログラムを構築するために必要なすべての依存関係 crates のコピーが含まれます。Windows オペレーティングシステムでプロジェクトをビルドするための Crates は、Red Hat Enterprise Linux でこのコマンドを実行してもベンダーが提供されています。
tree ツールは、デフォルトの Red Hat Enterprise Linux リポジトリーから利用できます。インストールするには、以下を行います。
yum install tree
# yum install tree