🔧
Rustで依存クレートを扱う時に便利なツール集
この記事について
Rustで依存関係にあるクレートを調べたりまとめたりするときに便利なツールの紹介です。
この記事ではインストールと基本的な使い方だけ書いたので、詳しい使い方は当該ツールのヘルプやドキュメントなどを参照してください。
cargo-tree 依存関係をツリーで表示
cargo-treeは依存関係のクレートをツリーで出力するツールです。
1.44.0以降のcargoが使える環境ならインストールなしで使うことができます。
インストール
Cargo 1.44.0から標準で入っているので不要です。
使用
cargo tree
cargo-license 依存関係のライセンス一覧表示
cargo-licenseは依存関係にある全てのクレートのライセンスを一覧で出力するツールです。
インストール
cargo install cargo-license
使用
cargo license
cargo-licenseのプロジェクトディレクトリで使った例
cargo-licenseのリポジトリより引用
cargo-about 依存関係のライセンスをまとめてHTML化
cargo-aboutは依存関係にある全てのクレートのライセンス情報を1つのHTMLファイルにまとめて出力するツールです。
例えば、実行ファイルだけを配布したいときに便利です。
以下のリンクはcargo-aboutによる出力例です。
インストール
cargo install --locked cargo-about
使用
# `about.toml`と`about.hbs`を`Cargo.toml`のディレクトリに生成します
cargo about init
# `license.html`にライセンスをまとめてHTMLで出力します
cargo about generate about.hbs > license.html
cargo about generateをした時に次のようなエラーが出ることがあります。
error: failed to satisfy license requirements
このエラーを解消するにはabout.tomlのacceptedにエラーが出たライセンスを追加します。
ただし、acceptedに追加しようとするライセンスが問題なく使えるものかどうかを確認してください。
Discussion