2021-03-19

[Rust] cargo

Rust

cargo

 cargoは、Rustのパッケージマネージャ兼ビルドツールです。

The Cargo Book(ドキュメント)

コマンド一覧

cargo --version(-V):バージョン表示 例:cargo 1.50.0-nightly (75d5d8cff 2020-12-22)
cargo bench --bench abenches/a.rsかa/のベンチマークを実行
cargo build:現プロジェクトをデバッグビルドする(debug/)
 --release最適化ビルド(release/)
 --target A:ビルドターゲットにAを指定(→サポートプラットフォーム)
 -j/--jobs n:使うCPU数nを指定
cargo check:現プロジェクトのコンパイルが通るかの検査のみ行う
cargo cleantarget/のビルド生成物を削除
 --releaserelease/のみ削除
 --docdoc/のみ削除
 -p/--package SPEC:指定したSPECの生成物のみ削除
cargo clippy:コードの改善部分を提示
cargo doc:現プロジェクト(依存含む/非公開要素は省く)のドキュメントをdoc/にビルド
 --open:表示も行う
 --no-deps:依存のドキュメント生成は省く
 --document-private-items:非公開要素もドキュメント化
cargo fix:cargo check後コードの修正を行う(未使用変数に_ 未使用useを削除 不要mutを削除など)
cargo install A:公開されているパッケージAをインストール
cargo fmtrustfmtを実行しコードを自動で整形
 -- --check:整形部分を一覧表示
cargo new A:現フォルダにプロジェクトAを作成
 --lib:クレートAを作成
 --help:newでの利用可能なオプションを一覧表示
cargo publish:ライブラリをcrates.ioに公開 ドキュメントはDocs.rsに公開 ログインかパスワードが必要
cargo run:ビルド(--releaseも可)し実行
 -- A B:引数A,B(さらに可)を指定して実行(--はオプションとの区別用で--releaseを使う場合は不要)
 --bin Asrc/bin/のA.rs(実行プログラム)をビルドし実行
 --example aexamples/のa.rsかa/を実行
cargo search Acrates.io内のクレートをAで検索 Cargo.tomlにコピペできる形式で一覧表示
cargo test:テストコードを実行 #[test]アトリビュートの付いた全関数を実行
 -- --ignored:#[ignore]アトリビュートの付いたテストを実行
 --test atests/のa.rsかa/のテストを実行
 testname:特定のテストのみ実行
cargo tree:依存クレートを木構造で一覧表示
cargo uninstall A:Aをアンインストール 削除場所指定は--root DIRを使う
cargo updateCargo.tomlのバージョン制約を満たす最新までアップデートしたCargo.lockを再生成