🦀
[cargo new]と[cargo init]の違い
はじめに
cargo new
と cargo init
はともに、新しいRustプロジェクトを作成するための Cargo コマンドですが、いくつかの点で動作が異なります。
cargo new
-
新規ディレクトリ:
cargo new
コマンドは指定したプロジェクト名で新しいディレクトリを作成します。 -
初期セットアップ: 新規ディレクトリ内には、新しい Rust プロジェクトのための基本的なファイルとディレクトリ構造(
Cargo.toml
ファイル、src
ディレクトリなど)が作成されます。 -
Git 無効化オプション:
--vcs none
フラグを使って、Git リポジトリの初期化をスキップすることも可能です。
例:
cargo new my_project
このコマンドは my_project
という新しいディレクトリを作成し、その中に新しい Rust プロジェクトの骨格を作成します。
cargo init
-
既存のディレクトリ:
cargo init
は、現在のディレクトリに新しい Rust プロジェクトを初期化します。 -
初期セットアップ:
Cargo.toml
ファイル、src
ディレクトリなど、必要なファイルとディレクトリ構造が作成されるが、既存のディレクトリ内に作成されます。 -
Git 無効化オプション: こちらも
--vcs none
フラグを使って、Git リポジトリの初期化をスキップできます。
例:
cd existing_directory
cargo init
このコマンドは、既存の existing_directory
ディレクトリ内に新しい Rust プロジェクトの骨格を作成します。
まとめ
-
cargo new
: 新しいディレクトリを作成して、その中に Rust プロジェクトを初期化する。 -
cargo init
: 現在のディレクトリ(または指定したディレクトリ)に Rust プロジェクトを初期化する。
どちらのコマンドも、--lib
フラグを使ってライブラリプロジェクトを作成することができます。
Discussion