2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rustを始める|Cargoプロジェクト作成からcrateの理解まで

Last updated at Posted at 2026-01-23

Hello, Cargo!

ということで、今回の記事は Cargo についての記事になります。
Rust を書き始めるとすぐに出てくるのが Cargo
Rust を触るなら必ず使うことになるツールです。

この記事は下記の記事の続きになります。 :arrow_down:

Cargo とは

Rustのビルドシステム兼パッケージマネージャです。

【補足:writing_hand_tone2:
ビルドシステム

エンジニアが書いたソースコードやその他のリソースファイルを、コンピュータが実行できる形式(実行可能バイナリやライブラリなど)に変換する一連のプロセスを自動化するツールまたはツールのセット

パッケージマネージャ

ソフトウェアのインストール、アンインストール、更新、そしてそれらに伴う依存関係(他のソフトウェアとの関連性)の自動的な解決を効率的に行うシステムまたはツール

crate とは

Rust では、コードの最小単位を crate(クレート) と呼びます。
crate は自分で書いたプログラムも、外部から取り込む依存ライブラリも含まれます。

Cargo インストール確認

cargo --version

バージョンナンバーが表示されたならインストールがされている状態です。
スクリーンショット 2025-09-20 091058.png

Cargo でプロジェクトを作成

1. ディレクトリとプロジェクトを作成

$ cargo new hello_cargo  

スクリーンショット 2025-09-20 091741_0.png
プロジェクトを hello_cargo と名付けたので、 Cargo はそれに関連するいくつかのファイルを同名のディレクトリに作成します。

2. hello_cargo ディレクトリに移動し、ファイル一覧を表示

$ cd hello_cargo
$ ls

Cargo.toml ファイルと src ディレクトリがあり、
スクリーンショット 2025-09-20 091741.png
src の中には main.rs ファイルがあります。
スクリーンショット 2025-09-20 092338.png

3. Gitリポジトリの初期化

cargo new はデフォルトで Gitリポジトリを初期化(git init)するため、.gitignore.gitが生成される。
デフォルトは--vcs=git

$ ls -a

スクリーンショット 2025-09-20 094834.png

$ git status

スクリーンショット 2025-09-20 094139.png

:mega: Git連携なしでプロジェクトを作成する場合は、cargo new --vcs none hello_cargo

補足:Gitは一般的なバージョン管理システムです。 cargo newコマンドに--vcsフラグを与えることで、別のバージョン管理システムを使用したり、何も使用しないようにもできます。 利用可能なオプションを確認するにはcargo new --helpを実行します。

オプション使ってみる

$ cargo new --help

スクリーンショット 2025-09-20 100845.png

--name <NAME> オプション

生成されるパッケージ(crate)の名前を指定するオプション


:x:【--nameオプションなし】

cargo new my-app

とした場合、ディレクトリ名がそのままパッケージ名になる。

  • ディレクトリ名: my-app/
  • Cargo.toml : [package] name = "my-app"

:o:【--nameオプションあり】

cargo new my-app --name hello-world
  • ディレクトリ名: my-app/
  • Cargo.toml : [package] name = "hello-world"

--name <NAME> オプションとは
プロジェクトのフォルダ名と crate名を分けたいときに使うオプション。
実際に use するときや、Cargo.lock 依存解決で使われるのは crate 名の方。

まとめ

:white_check_mark: 複数の crate をまとめたものを package と呼び、Cargo はこれらを管理するツール

hello_cargo/          ← Package(Cargo.tomlを持つプロジェクト)
├─ Cargo.toml
└─ src/
   ├─ main.rs         ← バイナリ crate
   └─ lib.rs          ← ライブラリ crate(共通機能)

さいごに

読んでいただきありがとうございます。
次回は、Cargo を使ったビルドや実行、依存ライブラリ(クレート)の追加方法についてです。

参考サイト

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?