百名山 API を開発しました | mountix APICLICK !

Rust | cargo new と cargo init の違い

Rust cargo new vs cargo init
  • URLをコピーしました!

大雑把に言ってしまうと、cargo initは、カレントディレクトリでcargo newしたいときに使うコマンドです!

new と init

  1. パッケージ名を入力する場合はcargo new パッケージ名
  2. 事前にディレクトリを作成して、パッケージ名を入力しない場合はcargo init
目次

cargo コマンド

new

Rustで何か作るぞ!となったとき、
最初に使うであろうコマンドがcargo newでしょう。

cargo new パッケージ名

new コマンドを実行すると、以下のディレクトリ構成で main.rs 等が作成されます。

–lib オプション

ライブラリを作成する場合は、--libオプションをつける。

cargo new ライブラリ名 --lib

init

Github でレポジトリを作成し、クローンしてしまい、
new コマンドだとディレクトリ構成が…という事態に陥りました。

パッケージ名は.で省略できるのでは?と思い立ち、実行してみた。

$ cargo new .
error: destination `/Desktop/temp/.` already exists

Use `cargo init` to initialize the directory

結果は失敗。

エラーメッセージにもcargo initを使え、とのこと。

newコマンドでは、パッケージ名となる引数が必須です。

そこで登場するのが、init コマンドです。

cargo init

パッケージ名は省略可能で、
省略した場合はカレントディレクトリを root とみなしてくれます。

まとめ

おおまかな違いは以下の通り。

ポイント

  • パッケージ名を入力する場合はcargo new パッケージ名
  • パッケージ名を入力しない場合はcargo init
  • ライブラリを作成する場合はcargo new パッケージ名 --lib

まだまだ他にもオプションはありますが、必要に応じて調べてみたいと思います。

著:初田直也, 著:山口聖弘, 著:吉川哲史, 著:豊田優貴, 著:松本健太郎, 著:原将己, 著:中村謙弘, 著:フォルシア株式会社
¥1,782 (2022/10/05 16:03時点 | Amazon調べ)
Rust cargo new vs cargo init

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!

コメント

コメントする

目次