无法在包名称中构建超级无效字符`-`

时间:2015-04-26 07:13:27

标签: rust rust-cargo hyper rust-obsolete

我正在尝试运行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 run构建它时,我收到以下错误:

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仍在抛光。

编辑:版本如下: Rust:1.0.0-beta.2 超:0.3.14 货物:每晚0.0.1(建于2015-03-09)

1 个答案:

答案 0 :(得分:4)

您的Hyper版本似乎需要更新版本的Rust,它会自动将连字符转换为包名称中的下划线。

请参阅RFC 940Issue #23533