57得票3回答
如何使用`cfg`和Cargo进行条件编译?

我想使用Cargo的cfg进行条件编译我的源代码, 在谷歌上搜索了一段时间后, 似乎解决方法是使用cargo --features。 http://doc.crates.io/manifest.html 我尝试添加了几个#[cfg(feature = "foo")] 在源代码中。cargo...

57得票3回答
如何列出我使用“cargo install”安装的所有全局包?

我用 cargo install 安装了几个 CLI 工具(例如 ripgrep),如何查看我使用 cargo install 下载的所有工具列表?类似于 apt list --installed 但是针对 cargo?

57得票6回答
Cargo能否在构建应用之前下载并构建依赖项?

有没有一种方法可以告诉Cargo安装并构建所有依赖项,但不尝试构建我的应用程序? 我以为cargo install会这样做,但它实际上也会构建我的应用程序。我想达到这样的状态:cargo build会发现所有的依赖项都已准备好使用,但不触及/src目录。 我真正想要实现的目标是: 我...

55得票2回答
如何在Cargo中查找测试资源?

我正在进行一个涉及文件交互的项目,希望使用文本文件来测试我的工作。但是测试不是从 tests/ 目录运行的,因此在运行 cargo run 时无法可靠地找到它们。 Cargo 是否总是从根目录运行测试(看起来是这种情况,但我没有找到任何证明)?

54得票5回答
如何将 Rust 的 Cargo 中二进制文件的测试移动到单独的文件中?

我使用Cargo创建了一个新的二进制文件: cargo new my_binary --bin my_binary/src/main.rs 中的一个函数可用于测试: fn function_from_main() { println!("Test OK"); } #[test...

54得票2回答
如何清除Cargo缓存?

当我运行 cargo build 时,各种库会存储在文件夹 /usr/local/lib/rustlib/ 中。 清除这些库的正确方法是什么?我可以手动使用 rm 删除这些文件,但那样做是否正确?我注意到 /usr/local/lib/rustlib/manifest 是一个包含所有库填充文...

51得票2回答
如何在 Cargo.toml 中指定依赖关系中的特定提交?

我试图在 Rust 项目中配置一个来自 GitHub 的外部依赖。不幸的是,一些最近的提交对接口进行了更改,因此我无法使用最新版本。开发人员也没有关注标签和为不同版本单独创建分支,所以我认为唯一正确的方法是指定某个提交,其中接口与我使用的版本相匹配。 现在在 Cargo.toml 中的内容如下...

50得票1回答
无法在cargo中使用“-Z macro-backtrace”不稳定选项

我正在编写 Rust 宏,但遇到了一个我无法理解的宏错误。为了更好地理解它,我尝试按照编译器的建议设置 -Z macro-backtrace 不稳定选项,并重新编译。这是建议内容:note: this error originates in a macro (in Nightly builds...

49得票2回答
如何启用 Rust 中的“crate feature”?

我正尝试使用rand::SmallRng。文档中写道: 这个PRNG是特征门控的:需要启用箱子特征small_rng才能使用。 我一直在搜索中,但找不到如何启用“箱子特征”的方法。甚至在Rust文档中都没有提到此短语。这是我最好的理解:[features] default = [&quot...

48得票1回答
使用cargo安装crate时出错:指定的包没有二进制文件。

我正在尝试使用Cargo在我的系统(Arch Linux)上安装一个Rust箱。我可以搜索集装箱并找到我需要的内容,例如: $ cargo search curl | head -n3 Updating registry `https://github.com/rust-lang/cr...