gpt4 book ai didi

rust - 我可以在没有 Cargo.toml 的情况下使用 Cargo 安装库吗?

转载 作者:行者123 更新时间:2023-11-29 07:42:17 33 4
gpt4 key购买 nike

我正在学习 Rust 入门,我需要获得 the rand crate在我的系统上。我没有做 Cargo 包装的事情(例如创建 Cargo.toml),因为我对语言感兴趣,而不是包装。

我可以在我的系统上安装 rand 库而不使用 cargo 命令创建 Cargo.toml 吗?

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

最佳答案

实用答案

没有。使用 cargo 。它非常容易使用,并且可以防止您在管理版本(和冲突版本)时搬起石头砸自己的脚。

because I was interested in the language, not packaging.

从 99.9% 的 Rust 用户的角度来看,Cargo 是语言的一部分,或者至少是 Rust 生态系统的一部分。您可能期望在其他语言标准库中提供的许多东西都在 crate 中提供(随机数生成就是一个很好的例子)。

install the library on my system

最终,这是没有意义的。没有可以安装的库的唯一真实版本。每个使用 crate 的程序都可能使用不同的版本,因为它有不同的需求。更进一步,您可以为不同的项目以不同的方式编译 crate - crate 的特性可以改变它们的编译方式。

cargo install rand

这实际上是一种使用 Cargo 构建整个 Rust 项目的方法,该项目提供了一个二进制并将其安装在您的系统上。这更有意义,因为它是一个单一的、包含的实体。不幸的是,正是因为这个原因,它可能会让人感到困惑!

另见:

技术上正确的答案

当然你可以;你只需要手动完成 Cargo 为你做的一切。这涉及

  1. 正在下载包。
  2. 这也意味着包的任何依赖性。
  3. 以及正确的版本。
  4. 编译包。
  5. 和依赖项。
  6. 维护依赖树并将其传递给每个后续包。
  7. 最后,您可以编译代码。

编译单个库和使用该库的单个可执行文件的具体示例:

$ rustc --edition=2018 --crate-type=rlib --crate-name library_example src/lib.rs -o libmy_library.rlib
$ rustc --edition=2018 --extern library_example=libmy_library.rlib examples/main.rs

关于rust - 我可以在没有 Cargo.toml 的情况下使用 Cargo 安装库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36813893/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com