我想安装一个包及其所有依赖项,就像它们在过去的特定日期和时间一样。
我需要使用较早版本的rustc-nightly
,因此我需要确保cargo install
拉取的所有依赖项都针对旧版本的编译器进行编译。
目前,当我指定要安装的顶级软件包的版本时,它似乎仍然会提取一些依赖项的最新版本,这些依赖项不使用旧的编译器构建。
答案 0 :(得分:1)
不,这是不可能的。
您最好的选择是:
升级编译器。如果您“不能”这样做,请评估为什么不能这样做,并决定从中获得多少好处。
将依赖项添加到您自己的Cargo.toml,固定到可以正常运行的旧版本。
您可以尝试forking the crate index并将其回滚,但无法保证可以正常使用。
似乎拉出了某些依赖项的最新版本
是的,大多数库都指定了与semver兼容的范围的依赖关系,例如my-library = "1.0"
。这将允许从1.0.0到1.x.y的任何版本。
不幸的是,对于是否要求新版本的Rust构成一个彻头彻尾的改变还没有达成共识。
另见: