是否可以使用特定日期而不是版本号运行货物安装?

时间:2018-06-12 15:56:40

标签: rust rust-cargo

我想安装一个包及其所有依赖项,就像它们在过去的特定日期和时间一样。

我需要使用较早版本的rustc-nightly,因此我需要确保cargo install拉取的所有依赖项都针对旧版本的编译器进行编译。

目前,当我指定要安装的顶级软件包的版本时,它似乎仍然会提取一些依赖项的最新版本,这些依赖项不使用旧的编译器构建。

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。

您最好的选择是:

  1. 升级编译器。如果您“不能”这样做,请评估为什么不能这样做,并决定从中获得多少好处。

  2. 将依赖项添加到您自己的Cargo.toml,固定到可以正常运行的旧版本。

  3. 您可以尝试forking the crate index并将其回滚,但无法保证可以正常使用。

  4.   

    似乎拉出了某些依赖项的最新版本

    是的,大多数库都指定了与semver兼容的范围的依赖关系,例如my-library = "1.0"。这将允许从1.0.0到1.x.y的任何版本。

    不幸的是,对于是否要求新版本的Rust构成一个彻头彻尾的改变还没有达成共识。

    另见: