結論
-
https://crates.io/crates/reqwest からコピペする
- @sinkuu さんに教えていただきました。ありがとうございます
-
https://docs.rs/crate/{crate名}
のVersions
から選択する
直面した問題
- reqwest (https://docs.rs/reqwest) を利用したいが
cargo install reqwest
を実行しても失敗する-
error: specified package `reqwest v0.9.24` has no binaries
が出力される
-
対応
なぜerrorになるのか
- https://doc.rust-lang.org/cargo/commands/cargo-install.html
-
This command manages Cargo’s local set of installed binary crates. Only packages which have executable [[bin]] or [[example]] targets can be installed, and all executables are installed into the installation root’s bin folder.
- google翻訳
このコマンドは、Cargoのインストール済みバイナリクレートのローカルセットを管理します。実行可能な[[bin]]または[[example]]ターゲットを持つパッケージのみをインストールでき、すべての実行可能ファイルはインストールルートのbinフォルダーにインストールされます。
- google翻訳
- reqwestはbinターゲットを持つパッケージでないから
-
npm install
のノリではダメらしい - Cargo.tomlのdependenciesに追記する必要がある
Cargo.toml にどう書くか
crates.ioでの探し方
- 例えばreqwestであれば https://crates.io/crates/reqwest にCargo.tomlの記載方法が書いてあるのでコピペする
- @sinkuu さんに教えていただきました。ありがとうございます
doc.rsでの探し方
-
reqwest
でググるとhttps://docs.rs/reqwest/0.10.0-alpha.2/reqwest/
が上位にhitする(2019.12.23現在)- ググラビリティが高くて素晴らしい
- 上記ページを開いてもdependenciesにどう書けばいいか載っていない
- 上画像の赤枠をクリックすると
https://docs.rs/crate/{crate名}
に遷移する - 左カラムにバージョン一覧(
Versions
)があるのでそこから選択してCargo.tomlに書くと利用できる- 例:
reqwest = "0.9.24"
- 例:
- 自分の環境では
~/.cargo/registry/src/github.com-{ハッシュ}/reqwest-0.9.24
にダウンロードされていた