crates.ioに一般的に役立つ (ユーティリティ/アプリケーション) を登録することは許容されますか?
FAQはこれに対処しておらず、ブラウジングから、エンドユーザー アプリケーション (主にコマンド ライン ツール) の例があります。
それともcrates.ioですか?ライブラリのみを意味しますか?
ドキュメントはライブラリの使用、API のセマンティック バージョニングなどを示唆していますが、アプリケーションをパッケージ化するケースを明示的に参照していないため、私はこれを求めています。
はいcargo install。これらのアプリケーションをシステム全体でインストールおよび管理するために使用できるためです。この使用が推奨されない場合、そのコマンドはまったく存在しないか、少なくとも適用範囲が非常に限られているのではないかと思います。
からのスニペットcargo install --help:
使用法:
cargo install [options] [<crate>] cargo install [options] --list[...]
このコマンドは、Cargo のローカルにインストールされたバイナリクレートのセットを管理します。ターゲットを持つパッケージのみを
[[bin]]インストールでき、すべてのバイナリがインストール ルートのbinフォルダーにインストールされます。インストール ルートは、優先順に--root、$CARGO_INSTALL_ROOT、install.root構成キー、最後にホーム ディレクトリ ($CARGO_HOME設定されている場合または$HOME/.cargoデフォルトのいずれか) によって決定されます。クレートをインストールできるソースは複数あります。デフォルトの場所は crates.io ですが、フラグ
--gitと--pathフラグでこのソースを変更できます。ソースに複数のパッケージ (crates.io や複数のクレートを含む git リポジトリなど) が含まれている場合、<crate>どのクレートをインストールする必要があるかを示す引数が必要です。
これは、アプリケーションを crates.io に公開する主な理由ではありませんが、それでも正当な理由であるため、ここにリストしています。:)
Rust チームは時折、 craterと呼ばれるツールを使用して、crates.io で公開されているすべてのクレートのリグレッションをチェックします。通常は、結果が不確実なプル リクエストをマージする前に行います。あなたが書いたコードがたまたまコンパイルできたのに、コンパイラのバグ修正のためにコンパイルが停止する1場合、コードを修正するプル リクエストがプロジェクトに送信されることさえあります。
1通常、このような重大な変更が発生した場合、警告がエラーに変わる前に警告が報告される以前のリリースが少なくとも 1 つあります。