【问题标题】:"error: specified package has no binaries" when trying to install packages with cargo? [duplicate]尝试安装带有货物的软件包时出现“错误:指定的软件包没有二进制文件”? [复制]
【发布时间】:2019-06-02 15:07:19
【问题描述】:

我用

做了一个新项目
cargo new project-name
cd ./project-name

并且一旦在目录中运行

cargo install crate-name

对于 crates.io 上列出的任何 crate 都会产生错误

Updating crates.io index
Installing crate-name version-number                                                    
error: specified package has no binaries

寻找其他地方建议将适当的依赖项添加到我的 Cargo.toml 文件中,但这不会改变我得到的输出。特别是我正在尝试将 rust-gmp 安装为项目依赖项,并拥有

[dependencies]
rust-gmp = "0.5.0"

在 Cargo.toml 中不允许我安装 rust-gmp。有什么建议吗?

【问题讨论】:

  • 命令是 cargo build 用于构建项目,cargo run 用于运行主二进制应用程序,cargo install 用于安装本地项目。 cargo install crate-name 仅适用于 crate 已在 crates.io 上发布的情况。另请参阅 creating a new package 上的货运指南。
  • 尝试安装 rust-gmp 作为我项目的依赖项。它似乎列在 crates.io (crates.io/crates/rust-gmp)
  • 完成。但是,对于 crates.io 上列出的任何板条箱,我都会遇到相同的错误;我似乎无法安装任何板条箱作为依赖项。

标签: installation rust rust-cargo


【解决方案1】:

根据 Cargo 的命名,依赖项实际上并没有“安装”。相反,正如您已经做的那样,您将 crate 添加为 Cargo.toml 中项目的依赖项。

因此,每当您运行以某种方式需要这些依赖项的子命令(例如 cargo buildcargo checkcargo run 等)时,它们都会自动为您下载和编译。

另请参阅Cargo guide on managing dependencies

【讨论】:

  • 谢谢!发现问题,需要在导入包的时候写extern crate gmp;代替extern crate rust-gmp;
猜你喜欢
  • 1970-01-01
  • 2016-11-23
  • 1970-01-01
  • 2022-06-18
  • 1970-01-01
  • 2022-12-05
  • 1970-01-01
  • 2019-12-24
  • 2023-03-25
相关资源
最近更新 更多