无法构建 Hyper - 板条箱名称中的无效字符“-”
Unable to build Hyper - invalid character `-` in crate name
我正在尝试 运行 Github 自述文件中列出的超级示例。
extern crate hyper;
use std::io::Write;
use hyper::Server;
use hyper::server::Request;
use hyper::server::Response;
use hyper::net::Fresh;
fn hello(_: Request, res: Response<Fresh>) {
let mut res = res.start().unwrap();
res.write_all(b"Hello World!").unwrap();
res.end().unwrap();
}
fn main() {
Server::http(hello).listen("127.0.0.1:3000").unwrap();
}
Cargo.toml 看起来像这样:
[package]
name = <crate_name>
version = <version>
authors = <authors>
[dependencies]
hyper = "0.3"
但是,当我尝试使用 Cargo 运行 构建它时,出现以下错误:
error: invalid character `-` in crate name: `build-script-build`
error: invalid character `-` in crate name: `pkg-config`
error: invalid character `-` in crate name: `rustc-serialize`
我查看了这些不同的箱子,试图看看是否可以将 "rustc-serialize" 更改为 "rustc_serialize",因为我认为箱子名称不能再有连字符。但是,我找不到任何类似的东西。我真的很希望能够解决这个问题,因为我有一种感觉,在 Rust 仍在完善的过程中,我将 运行 再陷入这个错误几次。
编辑:版本如下:
生锈:1.0.0-beta.2
超级:0.3.14
货物:0.0.1-pre-nightly(建于 2015-03-09)
您的 Hyper 版本似乎需要更新版本的 Rust,它会自动将 crate 名称中的连字符转换为下划线。
见RFC 940 and Issue #23533。
我正在尝试 运行 Github 自述文件中列出的超级示例。
extern crate hyper;
use std::io::Write;
use hyper::Server;
use hyper::server::Request;
use hyper::server::Response;
use hyper::net::Fresh;
fn hello(_: Request, res: Response<Fresh>) {
let mut res = res.start().unwrap();
res.write_all(b"Hello World!").unwrap();
res.end().unwrap();
}
fn main() {
Server::http(hello).listen("127.0.0.1:3000").unwrap();
}
Cargo.toml 看起来像这样:
[package]
name = <crate_name>
version = <version>
authors = <authors>
[dependencies]
hyper = "0.3"
但是,当我尝试使用 Cargo 运行 构建它时,出现以下错误:
error: invalid character `-` in crate name: `build-script-build`
error: invalid character `-` in crate name: `pkg-config`
error: invalid character `-` in crate name: `rustc-serialize`
我查看了这些不同的箱子,试图看看是否可以将 "rustc-serialize" 更改为 "rustc_serialize",因为我认为箱子名称不能再有连字符。但是,我找不到任何类似的东西。我真的很希望能够解决这个问题,因为我有一种感觉,在 Rust 仍在完善的过程中,我将 运行 再陷入这个错误几次。
编辑:版本如下: 生锈:1.0.0-beta.2 超级:0.3.14 货物:0.0.1-pre-nightly(建于 2015-03-09)
您的 Hyper 版本似乎需要更新版本的 Rust,它会自动将 crate 名称中的连字符转换为下划线。
见RFC 940 and Issue #23533。