无法编译环箱:找不到模块“montgomery”的文件

Cannot compile the ring crate: file not found for module `montgomery`

Cargo 未编译并出现以下错误:

$ cargo build
Compiling ring v0.12.1
error[E0583]: file not found for module `montgomery`
    --> 
 C:\Users\jmccrae\.cargo\registry\src\github.com1ecc6299db9ec823\ring-0.12.1\src\arithmetic/arithmetic.rs:15:9
   |
15 | pub mod montgomery;
   |         ^^^^^^^^^^
   |
   = help: name the file either arithmetic\montgomery.rs or arithmetic\montgomery\mod.rs inside the directory 
"C:\Users\jmccrae\.cargo\registry\src\github.com-1ecc6299db9ec823\ring-0.12.1\src\arithmetic"

该项目是一个新项目,Cargo.toml 已修改为包含对 ring 箱子的最新版本 (0.12.1) 的依赖项。 Cargo.toml如下:

[package]
name = "testring"
version = "0.1.0"
authors = ["John McCrae <john@mccr.ae>"]

[dependencies]
ring = "0.12.1"

所需文件似乎实际存在:

$ ls  C:\Users\jmccrae\.cargo\registry\src\github.com-1ecc6299db9ec823\ring-0.12.1\src\arithmetic
arithmetic.rs  montgomery.rs

cargo 版本是cargo 0.25.0-nightly (930f9d949 2017-12-05),MINGW 上是运行。

编译器设置有问题吗?

这是an issue with Ring and Rust 1.24.0-nightly (2017-12-21). It also has an associated issue in the Rust repository

要解决这个问题,请使用旧版本的 Rust nightly(或者如果可以的话避免使用 nightly)。