Почему мой код ржавчины не может загрузить шаблон tera?

У меня есть приложение для ржавчины (https://github.com/Riduidel/rrss2imap), которое при запуске на моей малине выдает следующее сообщение об ошибке

pi@raspberrypi-server:~/rrss2imap $ ./rrss2imap-armv7-unknown-linux-gnueabihf-debug run
[2019-09-02 11:46:08.847444 +02:00] INFO [rrss2imap::feed] src/feed.rs:74: Reading feed from http://tontof.net/?rss
[2019-09-02 11:46:09.203357 +02:00] INFO [rrss2imap::feed] src/feed.rs:138: Feed date is 2019-09-02 09:46:09 while previous read date is 2019-07-11 17:03:36
[2019-09-02 11:46:09.203874 +02:00] INFO [rrss2imap::feed] src/feed.rs:143: There should be new entries, parsing HTML content
[2019-09-02 11:46:09.211703 +02:00] INFO [rrss2imap::feed] src/feed.rs:74: Reading feed from https://www.brothers-brick.com/feed/
[2019-09-02 11:46:10.897497 +02:00] INFO [rrss2imap::feed] src/feed.rs:138: Feed date is 2019-09-02 02:00:37 while previous read date is 2019-07-11 14:40:44
[2019-09-02 11:46:10.898026 +02:00] INFO [rrss2imap::feed] src/feed.rs:143: There should be new entries, parsing HTML content
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error(Msg("Template \'message.html\' not found"), State { next_error: None, backtrace: InternalBacktrace { backtrace: None } })', src/libcore/result.rs:999:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

Что действительно странно, так это то, что когда я запускаю тот же код из cargo run Отлично работает.

Так что же не так? Как я могу это исправить?

1 ответ

Решение

Ваша программа не может найти файл шаблона.

У вас есть два варианта:

  • Отправьте каталог шаблонов вместе с двоичным файлом и поместите их на сервер в то место, откуда двоичный файл загружает шаблоны.

  • Статически включите свои шаблоны в двоичный файл с помощью include_str, а затем загрузите их с помощью Tera:: add_raw_template.

PS: вы также можете встраивать целые каталоги в свое приложение с помощью ящиков, таких как include_dir.

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