2.7. プロジェクト依存関係の設定


cargo プロジェクトの依存関係を指定するには、プロジェクトディレクトリーの Cargo.toml ファイルを編集します。このセクション [dependencies] には、プロジェクトの依存関係の一覧が含まれます。各依存関係は、次の形式で新しい行に一覧表示されます。

crate_name = version
Copy to Clipboard Toggle word wrap

Rust コードパッケージは crates と呼ばれます。

例2.6 プロジェクトへの依存関係の追加および cargo で構築

この例では、例2.2「cargo を使用したプロジェクトのビルド」 従って Rust プロジェクト helloworld を正常に構築していることを前提としています。

ディレクトリー helloworld に移動し、以下のソースコードが含まれるファイル src/main.rs を編集します。

extern crate time;

fn main() {
    println!("Hello, world!");
    println!("Time is: {}", time::now().rfc822());
}
Copy to Clipboard Toggle word wrap

このコードには、外部のクレート 時間 が必要になりました。以下のコードが含まれるように Cargo.toml ファイルを編集して、この依存関係をプロジェクト設定に追加します。

[package]
name = "helloworld"
version = "0.1.0"
authors = ["Your Name <yourname@example.com>"]

[dependencies]
time = "0.1"
Copy to Clipboard Toggle word wrap

cargo run コマンドを実行してプロジェクトをビルドし、作成された実行ファイルを実行します。

  • Red Hat Enterprise Linux 7 の場合:

    $ scl enable rust-toolset-1.35 'cargo run'
        Updating registry `https://github.com/rust-lang/crates.io-index`
     Downloading time v0.1.38
     Downloading libc v0.2.32
        Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
         Running `target/debug/helloworld`
    Hello, world!
    Time is: Fri, 13 Oct 2017 11:08:57
    Copy to Clipboard Toggle word wrap
  • Red Hat Enterprise Linux 8 の場合:

    $ cargo run
        Updating registry `https://github.com/rust-lang/crates.io-index`
     Downloading time v0.1.38
     Downloading libc v0.2.32
        Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
         Running `target/debug/helloworld`
    Hello, world!
    Time is: Fri, 13 Oct 2017 11:08:57
    Copy to Clipboard Toggle word wrap

cargotime crate とその依存関係 (crate libc) をダウンロードし、ローカルに保管し、依存関係を含むすべてのプロジェクトのソースコードをビルドし、最終的に生成される実行ファイルを実行します。

関連資料

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat