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

时间:2016-04-23 17:08:28

标签: rust rust-cargo

我正在经历Rust的开始,我需要在我的系统上获得rand箱子。我没有做货物包装(例如创建Cargo.toml)因为我对语言感兴趣,而不是包装。

我可以在某种程度上在我的系统上安装rand库而无需使用Cargo.toml命令定义cargo吗?

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

1 个答案:

答案 0 :(得分:11)

实际答案

没有。使用货物。它非常容易使用非常容易,它可以防止您通过管理版本(以及相互冲突的版本)拍摄自己的脚。

  

因为我对语言感兴趣,而不是打包。

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

  

在我的系统上安装库

最终,这没有任何意义。你可以安装没有一个真实版本的库。每个使用包的程序都可能使用不同的版本,因为它有不同的需求。更进一步,你可以为不同的项目以不同的方式编译一个箱子 - 箱子有功能,可以改变它们的编译方式。

  

cargo install rand

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

技术上正确答案

当然你可以;你只需要做一切货物为你做的事。这涉及

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