【问题标题】:Rust Nickel Hello World tutorial throwing dependency error when runRust Nickel Hello World 教程在运行时抛出依赖错误
【发布时间】:2015-04-13 13:12:17
【问题描述】:

我正在学习 Rust,昨天在 http://reddit.com/r/rust 上看到了 Nickel 的帖子。作为空闲时间的 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

【问题讨论】:

  • 我在镍团队工作。很抱歉给您带来如此糟糕的第一次体验。这些例子已经过时了,我正试图尽快修复它。但是,我认为您遇到的问题似乎是 hyper 或 rust 本身的真正错误。我创建了一个问题来跟踪它:github.com/nickel-org/nickel.rs/issues/185
  • @Christoph Yay,我帮助找到了一个错误! :) 感谢您跟进我并记录问题。我期待一个决议。我刚刚也检查了 Nickel GitHub 页面,看起来当前的构建也失败了。

标签: rust nickel


【解决方案1】:

arithmetic operation overflowed 错误似乎是上游问题。它还会影响镍所依赖的超。

https://github.com/seanmonstar/num_cpus/issues/2

作为临时解决方法,使用cargo build --release 完全阻止检查。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
相关资源
最近更新 更多