第三方库上的 Rust `unresolved import`。新手问题
Rust `unresolved import` on third party library. Newbie Issue
我想使用名为 warp 的第三方库编译一个简单的 Rust 程序:
[package]
name = "hello-world-warp"
version = "0.1.0"
[dependencies]
warp = "0.1.18"
在src/main.rs
中:
use warp::{self, path, Filter};
fn main() {
// GET /hello/warp => 200 OK with body "Hello, warp!"
let hello = warp::path!("hello" / String)
.map(|name| format!("Hello, {}!", name));
warp::serve(hello)
.run(([127, 0, 0, 1], 3030));
}
当我 运行 cargo build
我看到它下载 warp 和很多传递依赖项时,我得到错误:
Compiling hello-world-warp v0.1.0 (<path>) error[E0432]: unresolved import `warp`
--> src/main.rs:3:12
|
3 | use warp::{self, path, Filter};
| ^^^^ no `warp` in the root
error: cannot find macro `path!` in this scope
我浏览了有关模块和包装箱的各种文档。在这个简单的场景中我做错了什么?
您复制的示例使用了适用于最新版本 Rust 的语法,但您不小心将 Rust 设置为模拟该语言的旧“2015”版本。
您必须添加:
edition = "2018"
到您的 Cargo.toml
的 [package]
部分。
开始新项目时,始终使用 cargo new
。它将确保正确设置最新版本标志。
我想使用名为 warp 的第三方库编译一个简单的 Rust 程序:
[package]
name = "hello-world-warp"
version = "0.1.0"
[dependencies]
warp = "0.1.18"
在src/main.rs
中:
use warp::{self, path, Filter};
fn main() {
// GET /hello/warp => 200 OK with body "Hello, warp!"
let hello = warp::path!("hello" / String)
.map(|name| format!("Hello, {}!", name));
warp::serve(hello)
.run(([127, 0, 0, 1], 3030));
}
当我 运行 cargo build
我看到它下载 warp 和很多传递依赖项时,我得到错误:
Compiling hello-world-warp v0.1.0 (<path>) error[E0432]: unresolved import `warp`
--> src/main.rs:3:12
|
3 | use warp::{self, path, Filter};
| ^^^^ no `warp` in the root
error: cannot find macro `path!` in this scope
我浏览了有关模块和包装箱的各种文档。在这个简单的场景中我做错了什么?
您复制的示例使用了适用于最新版本 Rust 的语法,但您不小心将 Rust 设置为模拟该语言的旧“2015”版本。
您必须添加:
edition = "2018"
到您的 Cargo.toml
的 [package]
部分。
开始新项目时,始终使用 cargo new
。它将确保正确设置最新版本标志。