Rust Nickel Hello World 教程在 运行 时抛出依赖错误
Rust Nickel Hello World tutorial throwing dependency error when run
我正在学习 Rust,在 http://reddit.com/r/rust yesterday for Nickel 上看到了一个 post。作为一名 Node.js 空闲时间的开发人员,我有兴趣检查一下。
我从 http://rust-lang.org 下载了 Rust 1.0.0-beta DMG。
我完全按照 Hello World 教程进行操作,当我在终端中执行 cargo run
时,我收到以下错误:
Robs-MacBook-Pro:nickel-demo rob$ cargo run
Compiling nickel-demo v0.0.1 (file:///Users/rob/Workbench/nickel-demo)
src/main.rs:4:1: 4:21 error: an external crate named `nickel` has already been imported into this module [E0259]
src/main.rs:4 extern crate nickel;
^~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
Could not compile `nickel-demo`.
Nickel 演示的 Hello World main.rs
文件如下所示:
extern crate nickel;
#[macro_use] extern crate nickel_macros;
extern crate nickel;
use nickel::Nickel;
fn main() {
let mut server = Nickel::new();
server.utilize(router! {
get "**" => |_req, _res| {
"Hello world!"
}
});
server.listen("127.0.0.1:6767");
}
当我在编辑器中输入这段代码时,我特别觉得我在文件中声明了两次 extern crate nickel;
很奇怪。收到错误后,我将代码重构为:
extern crate nickel;
#[macro_use] extern crate nickel_macros;
use nickel::Nickel;
...
我得到这个错误:
Robs-MacBook-Pro:nickel-demo rob$ cargo run
Compiling nickel-demo v0.0.1 (file:///Users/rob/Workbench/nickel-demo)
Running `target/debug/nickel-demo`
Listening on http://127.0.0.1:6767
Ctrl-C to shutdown server
thread '<main>' panicked at 'arithmetic operation overflowed', /Users/rob/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.3.11/src/server/mod.rs:90
An unknown error occurred
arithmetic operation overflowed
错误似乎是上游问题。它还会影响镍所依赖的 hyper。
见https://github.com/seanmonstar/num_cpus/issues/2
作为临时解决方法,使用 cargo build --release
来完全阻止检查。
我正在学习 Rust,在 http://reddit.com/r/rust yesterday for Nickel 上看到了一个 post。作为一名 Node.js 空闲时间的开发人员,我有兴趣检查一下。
我从 http://rust-lang.org 下载了 Rust 1.0.0-beta DMG。
我完全按照 Hello World 教程进行操作,当我在终端中执行 cargo run
时,我收到以下错误:
Robs-MacBook-Pro:nickel-demo rob$ cargo run
Compiling nickel-demo v0.0.1 (file:///Users/rob/Workbench/nickel-demo)
src/main.rs:4:1: 4:21 error: an external crate named `nickel` has already been imported into this module [E0259]
src/main.rs:4 extern crate nickel;
^~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
Could not compile `nickel-demo`.
Nickel 演示的 Hello World main.rs
文件如下所示:
extern crate nickel;
#[macro_use] extern crate nickel_macros;
extern crate nickel;
use nickel::Nickel;
fn main() {
let mut server = Nickel::new();
server.utilize(router! {
get "**" => |_req, _res| {
"Hello world!"
}
});
server.listen("127.0.0.1:6767");
}
当我在编辑器中输入这段代码时,我特别觉得我在文件中声明了两次 extern crate nickel;
很奇怪。收到错误后,我将代码重构为:
extern crate nickel;
#[macro_use] extern crate nickel_macros;
use nickel::Nickel;
...
我得到这个错误:
Robs-MacBook-Pro:nickel-demo rob$ cargo run
Compiling nickel-demo v0.0.1 (file:///Users/rob/Workbench/nickel-demo)
Running `target/debug/nickel-demo`
Listening on http://127.0.0.1:6767
Ctrl-C to shutdown server
thread '<main>' panicked at 'arithmetic operation overflowed', /Users/rob/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.3.11/src/server/mod.rs:90
An unknown error occurred
arithmetic operation overflowed
错误似乎是上游问题。它还会影响镍所依赖的 hyper。
见https://github.com/seanmonstar/num_cpus/issues/2
作为临时解决方法,使用 cargo build --release
来完全阻止检查。