0

我是 Rust 编程的新手,我正在构建 Rust + Diesel + Rocket 框架。

当我运行命令cargo checkcargo run时,出现以下错误:

The specified procedure could not be found. (os error 127)
--> src\main.rs:2:11
|
2 | #![plugin(rocket_codegen)]

操作系统:Windows 10

货物.toml

[package]
name = "rest_in_rust"
version = "0.1.0"
authors = ["venka"]

[dependencies]
diesel = { version = "1.0.0", features = ["postgres"]}
dotenv = "0.9.0"
r2d2 = "0.8.3"
serde = "1.0.80"
serde_derive = "1.0.80"
serde_json = "1.0.33"

rocket = {  git = "https://github.com/SergioBenitez/Rocket" }
rocket_codegen = {  git = "https://github.com/SergioBenitez/Rocket" }
rocket_contrib = {  git = "https://github.com/SergioBenitez/Rocket", default-features = false, features = ["json"] }

Rust 版本:rustc 1.32.0-nightly (0c999ed13 2018-12-03)

main.rs 文件(第二行给我这个错误)有什么线索吗?

 #![feature(plugin, custom_derive, const_fn, decl_macro)]
 #![plugin(rocket_codegen)]

 #[macro_use]
 extern crate diesel;
 extern crate dotenv;
 extern crate r2d2;
 extern crate rocket;
 extern crate rocket_contrib;
 #[macro_use]
 extern crate serde_derive;
 #[macro_use]
 extern crate serde_json;

 use dotenv::dotenv;
 use std::env;
 use diesel::prelude::*;
 use diesel::pg::PgConnection;

 mod schema;
 mod models;
 mod db;
 mod static_file;
4

1 回答 1

2

我的Cargo.toml

rocket = { git = "https://github.com/SergioBenitez/Rocket" }
rocket_codegen = { git = "https://github.com/SergioBenitez/Rocket" }

这将拉出最新版本。对我来说,它获得了 Rocket 0.4.0。从 Rocket 0.4 开始,rocket_codegen不应成为直接依赖项。

只需将其删除:

货运.toml

[dependencies]
rocket = "0.4"

main.rs

#![feature(proc_macro_hygiene, decl_macro)]
#[macro_use] extern crate rocket;

请查看Rocket Documentation新闻部分的更改日志。

于 2018-12-09T17:04:58.213 回答