簡體   English   中英

通過貨物安裝板條箱時出錯:指定的包沒有二進制文件

[英]Error installing a crate via cargo: specified package has no binaries

我正在嘗試使用 Cargo 在我的系統(Arch Linux)上安裝 Rust crate。 我可以搜索板條箱並找到我需要的東西,例如:

 $ cargo search curl | head -n3
    Updating registry `https://github.com/rust-lang/crates.io-index`
curl (0.3.0)             Rust bindings to libcurl for making HTTP requests
curl-sys (0.2.0)         Native bindings to the libcurl library

當我嘗試安裝它時,出現以下錯誤:

 $ cargo install curl
    Updating registry `https://github.com/rust-lang/crates.io-index`
error: specified package has no binaries

這是什么意思? 我必須先從源代碼構建它嗎? 如果 Cargo 一開始就沒有安裝它,它的意義何在?

 $ uname -a
Linux 4.6.1-2-ARCH #1 SMP PREEMPT Thu Jun 2 15:46:17 CEST 2016 x86_64 GNU/Linux
 $ rustc --version
rustc 1.9.0
 $ cargo --version
cargo 0.10.0 (10ddd7d 2016-04-08)

cargo install用於安裝碰巧通過 crates.io 分發的二進制包。

如果您想使用 crate 作為依賴項,請將其添加到您的Cargo.toml

閱讀Rust 入門指南Cargo 入門指南以獲取更多信息。 簡而言之:

cargo new my_project
cd my_project
echo 'curl = "0.3.0"' >> Cargo.toml

有趣的是,您可以使用cargo install安裝一個名為cargo-edit的第三方Cargo 子命令,這樣可以更輕松地修改您的Cargo.toml文件以添加依賴項!

cargo install cargo-edit
cargo add curl

需要注意的重要一點是,每個Cargo 項目都管理和編譯一組單獨的依賴項(一些背景信息)。 因此安裝編譯庫是沒有意義的。 庫的每個版本的源代碼都將緩存在本地,避免多次下載。

另見:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM