无法构建 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