【发布时间】:2018-01-29 08:46:31
【问题描述】:
我想根据 2017 年 2 月 22 日可用的内容,在 Cargo.toml 的 Rust 项目中创建一个 Cargo.lock 文件。我需要使版本选择与当天发生的情况兼容。 (不,在某个地方没有受版本控制的 Cargo.lock。)
我试过没有用:
- 将 crates.io 索引克隆到本地目录并检查与所需日期匹配的旧提交。
-
在 .cargo/config 中使用以下行:
[source.mycrates] registry = "file:///path/to/crates.io-index" # contains old checkout [source.crates-io] replace-with = "mycrates"
不过,cargo 将 Cargo.toml 中的依赖关系解析为最新可用的,而不是指定结帐中的最新依赖。
我怎样才能让 Cargo 的版本选择回到过去?
【问题讨论】:
-
听起来有点像XY Problem。你到底想用这个实现什么?
-
我的具体用例是在 NixOS 的 Rust 基础设施中创建一个与特定 crates.io 快照一起使用的 Cargo.lock。
-
我明白了,但为什么它必须是快照?为什么不能直播?
标签: rust rust-cargo