Указанная процедура не может быть найдена. (ошибка 127) - #![плагин (rocket_codegen)]

Я новичок в программировании на Rust и создаю фреймворк Rust + Diesel + Rocket.

Когда я запускаю команду cargo check или же cargo runвозникает следующая ошибка:

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

ОС: Windows 10

cargo.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 (2-я строка выдает мне эту ошибку) какая-нибудь подсказка?

 #![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;

1 ответ

Мой 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 не должен быть прямой зависимостью.

Просто удалите это:

Cargo.toml

[dependencies]
rocket = "0.4"

main.rs

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

Пожалуйста, проверьте журнал изменений в разделе новостей Rocket Documentation.

Другие вопросы по тегам