Невозможно начать работать с diesel.rs и Rust 1.16 по ночам
Я пытаюсь следовать руководству по началу работы с Diesel, напрямую копируя examples/getting_started_step_3/
из репозитория Diesel GitHub, но я сталкиваюсь с некоторыми ошибками компиляции, которые я не могу исправить:
cargo build
Compiling diesel_demo_step_3 v0.1.0 (file:///home/stamm/code/rustsome/pkiexpress)
error: macro undefined: 'options!'
--> src/schema.rs:1:1
|
1 | infer_schema!("dotenv:DATABASE_URL");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in a macro outside of the current crate
error: macro undefined: 'table_name!'
--> src/models.rs:12:1
|
12 | #[table_name="posts"]
| ^^^^^^^^^^^^^^^^^^^^^
Вот мой .env
:
DATABASE_URL=postgres://postgres:password@localhost/pkiexpress
Я использую Rust 1.16.0-nightly (df8debf6d 2017-01-25) и Diesel 0.9.0.
1 ответ
Ошибка компиляции, которую вы получаете, звучит так, как будто она вызвана проблемой с текущей ночной. Вы, вероятно, можете это исправить, удалив #![feature(proc_macro)]
из вашего кода (он больше не нужен для функции, используемой Diesel). В приведенном вами примере это было сделано в коммите, сделанном 17 дней назад.
При работе с примерами для ночного компилятора существует высокий риск поломки. Для популярных ящиков примеры обновляются довольно быстро, поэтому вы должны убедиться, что и ваш компилятор, и примеры, которые вы пытаетесь запустить, актуальны. К счастью, с выпуском 1.15 (менее чем за неделю, 2017-02-02) Diesel будет работать со стабильным компилятором, где риск поломки намного меньше.
Если вышеперечисленное не работает, вы можете использовать более старую ночную версию (например, c07a6ae77 2017-01-17 должен работать), просто подождите, пока проблема не будет устранена, или дождитесь выхода 1.15 и используйте стабильную версию.