无法在Linux Windows子系统上使用Rust 1.25构建actix web 0.7.8

无法在Linux Windows子系统上使用Rust 1.25构建actix web 0.7.8,rust,rust-cargo,rust-actix,Rust,Rust Cargo,Rust Actix,我正试着用货物玩“actix web”板条箱。我在Windows10上使用的是Ubuntu的WSL版本 我运行的步骤: 使用sudo-apt-Install-Cargo安装货物(并用其生锈) 使用cargo new hello 在Cargo.toml文件中的[dependencies]下添加了actix web=“0.7.8” 运行了货物运行,出现以下编译错误: error[E0658]:用于匹配引用的非引用模式(参见问题42640) -->/home/ash/.cargo/registry

我正试着用货物玩“actix web”板条箱。我在Windows10上使用的是Ubuntu的WSL版本

我运行的步骤:

  • 使用
    sudo-apt-Install-Cargo安装货物(并用其生锈)
  • 使用
    cargo new hello
  • Cargo.toml
    文件中的
    [dependencies]
    下添加了
    actix web=“0.7.8”
  • 运行了货物运行,出现以下编译错误:
error[E0658]:用于匹配引用的非引用模式(参见问题42640)
-->/home/ash/.cargo/registry/src/github.com-1ec6299db9ec823/ring-0.13.2/build.rs:375:9
|
375 | let(|,|,perlasm|u格式)=ASM_TARGETS.iter().find(| entry |{
(一)参考文献:(&,,Pelasmim格式)
错误[E0658]:用于匹配引用的非引用模式(参见问题42640)
-->/home/ash/.cargo/registry/src/github.com-1ec6299db9ec823/ring-0.13.2/build.rs:674:9
|
674 |对于src U dst中的(src,dst){
帮助:考虑使用参考文献:'&(SRC,DST)
错误[E0658]:用于匹配引用的非引用模式(参见问题42640)
-->/home/ash/.cargo/registry/src/github.com-1ec6299db9ec823/ring-0.13.2/build.rs:737:35
|
737 |环| SRCS.iter().任何(|(|,f)| cmp(f))||
帮助:考虑使用一个参考词:‘(和,f)’
错误[E0658]:用于匹配引用的非引用模式(参见问题42640)
-->/home/ash/.cargo/registry/src/github.com-1ec6299db9ec823/ring-0.13.2/build.rs:741:35
|
741 |环| SRCS.iter().任何(|(|,f)| cmp(f))||
帮助:考虑使用一个参考词:‘(和,f)’
我尝试使用通配符依赖项,但无法使其工作

rustc
是版本
1.25.0

cargo
是版本
0.26.0

根据,最新版本(0.7.8)要求1.26.0或更高版本。根据您的错误消息,这似乎是因为他们利用了对的一些改进

您可以回滚到较旧版本的
actix web
-版本0.6.15似乎是最新的版本,它在Rust 1.25.0中工作。但是,您可能会在其他库中遇到类似的问题,我绝对建议您更新Rust,以便您也可以利用这些改进

更新Rust toolchain并使其保持更新的最简单方法是使用。

根据,最新版本(0.7.8)要求使用Rust版本1.26.0或更高版本。根据错误消息,这似乎是因为他们利用了对的一些改进

您可以回滚到较旧版本的
actix web
-版本0.6.15似乎是最新的版本,它在Rust 1.25.0中工作。但是,您可能会在其他库中遇到类似的问题,我绝对建议您更新Rust,以便您也可以利用这些改进


更新Rust工具链并使其保持更新的最简单方法是使用。

如果可以,您应该使用安装Rust。使用rustup更容易确保您拥有最新的工具链。而我在使用
actix web
和Rust的版本组合时也会遇到同样的错误。如果可以,您应该使用安装Rust。这非常简单我需要确保你有最新的Rustop工具链。我在
ActixWeb
和Rust的版本组合中也会遇到同样的错误。