172 похожих чатов

Всем привет) Подскажите, в карго есть возможность переопределить root-директорию, от которой

все относительные пути считаются в рантайме?

25 ответов

20 просмотров

Скорее всего можно через cargo.toml, почитай cargo book

Кирилл🦀-Дудник Автор вопроса
Санек Каравайчик
Скорее всего можно через cargo.toml, почитай cargo...

Читал несколько минут, заболела голова, решил попытать удачу и спросить тут)

Можно чуть конкретнее про задачу? И если возможно, код на playground залить

Санек Каравайчик
Можно чуть конкретнее про задачу? И если возможно,...

А ой, перепутал малясь, код не нужен, просто чуть конкретнее задачу

Кирилл🦀-Дудник Автор вопроса
Санек Каравайчик
Можно чуть конкретнее про задачу? И если возможно,...

Есть воркспейс, при запуске сервера хотелось бы, чтобы все пути файлов читались от папки воркспейса, а не от папки сервера

Кирилл🦀-Дудник Автор вопроса
Кирилл🦀 Дудник
screenshot Есть воркспейс, при запуске сервера хотелось бы, ч...

сходи на 1 уровень выше от папки текущего томла :)

Санек Каравайчик
https://github.com/rust-lang/cargo/issues/8410

Тут описано как можно всё организовать

Кирилл🦀 Дудник
screenshot Есть воркспейс, при запуске сервера хотелось бы, ч...

let workspace_dir = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).parent().unwrap(); самый тупой способ

Αλεχ Zhukovsky
let workspace_dir = std::path::Path::new(env!("CAR...

Да, но я уже нашёл в issues похожий случай в котором более подробное решение

Кирилл🦀-Дудник Автор вопроса
Санек Каравайчик
Тут описано как можно всё организовать

Это про зависимости) А я про то, что если я пишу в коде Path::new("./static/client.wasm") то этот путь должен строиться не от папки проекта, а от папки воркспейса, как будто я написал бы Path::new("./../static/client.wasm")

Кирилл🦀-Дудник Автор вопроса
Αλεχ Zhukovsky
let workspace_dir = std::path::Path::new(env!("CAR...

Да, я это понимаю, но я хочу глобально на уровне текущего крейта переопределить root-папку на уровень выше, чтобы Path::new() автоматом брал за основу родительскую папку

Кирилл🦀 Дудник
Да, я это понимаю, но я хочу глобально на уровне т...

Может какую нибудь обёртку тогда вокруг Path сделать? Знаю что тупо, но всё таки должно понимать

Кирилл🦀-Дудник Автор вопроса
Санек Каравайчик
Может какую нибудь обёртку тогда вокруг Path сдела...

Да, это сработает. Вариантов, на самом деле, много, но мне интересно было бы попробовать настроить это на уровне окружения. Просто прикол в том, что IDE это как-то делают, и я очень надеюсь, что toml-конфигурация как-то предоставляет такую возможность. Например, через те же переменные среды

Кирилл🦀 Дудник
Да, это сработает. Вариантов, на самом деле, много...

Попробую ещё карго бук полистать, может там есть что то

Кирилл🦀 Дудник
Я еще поресёрчу, если что, отпишу)

Давай, а то мне даже самому стало интересно как это решить)

Кирилл🦀-Дудник Автор вопроса
Санек Каравайчик
Давай, а то мне даже самому стало интересно как эт...

Есть такой вариант) Он работает, но он работает не на уровне настроек крейта) std::env::set_current_dir("../").unwrap();

Кирилл🦀 Дудник
Есть такой вариант) Он работает, но он работает не...

Что то такое предлагали выше, видимо возможно только императивно определять откуда считать пути

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта