🦀

[cargo new]と[cargo init]の違い

2023/08/29に公開

はじめに

cargo newcargo init はともに、新しいRustプロジェクトを作成するための Cargo コマンドですが、いくつかの点で動作が異なります。

cargo new

  1. 新規ディレクトリ: cargo new コマンドは指定したプロジェクト名で新しいディレクトリを作成します。
  2. 初期セットアップ: 新規ディレクトリ内には、新しい Rust プロジェクトのための基本的なファイルとディレクトリ構造(Cargo.toml ファイル、src ディレクトリなど)が作成されます。
  3. Git 無効化オプション: --vcs none フラグを使って、Git リポジトリの初期化をスキップすることも可能です。

例:

cargo new my_project

このコマンドは my_project という新しいディレクトリを作成し、その中に新しい Rust プロジェクトの骨格を作成します。

cargo init

  1. 既存のディレクトリ: cargo init は、現在のディレクトリに新しい Rust プロジェクトを初期化します。
  2. 初期セットアップ: Cargo.toml ファイル、src ディレクトリなど、必要なファイルとディレクトリ構造が作成されるが、既存のディレクトリ内に作成されます。
  3. Git 無効化オプション: こちらも --vcs none フラグを使って、Git リポジトリの初期化をスキップできます。

例:

cd existing_directory
cargo init

このコマンドは、既存の existing_directory ディレクトリ内に新しい Rust プロジェクトの骨格を作成します。

まとめ

  • cargo new: 新しいディレクトリを作成して、その中に Rust プロジェクトを初期化する。
  • cargo init: 現在のディレクトリ(または指定したディレクトリ)に Rust プロジェクトを初期化する。

どちらのコマンドも、--lib フラグを使ってライブラリプロジェクトを作成することができます。

Discussion