#rust #rust-cargo #rustup
Вопрос:
При создании нового проекта с cargo new
помощью я хотел бы , чтобы файл Cargo.toml автоматически включал предопределенное authors
поле.
В следующих четырех строках указывается информация о конфигурации, необходимая для компиляции вашей программы: имя, версия, кто ее написал, и выпуск Rust для использования. Cargo получает информацию о вашем имени и электронной почте из вашей среды, поэтому, если эта информация неверна, исправьте ее сейчас, а затем сохраните файл.
Это было довольно расплывчато, поэтому я поискал об этом. Сначала я попытался добавить CARGO_NAME
и CARGO_EMAIL
в свои переменные среды. Не сработало.
Затем я попытался добавить переменные name
и email
в поле [cargo-new]
, в файле .cargo/config.toml
конфигурации, и узнал, что он устарел.
Есть ли какие-либо другие способы сделать это? Я сделал что-то не так?
[package]
name = "hello_world"
version = "0.1.0"
edition = "2018"
authors = ["foo <bar@gmail.com>"] # Add this line automatically
[dependencies]
Я использую rustup
с nightly
набором инструментов в Arch Linux.
Ответ №1:
Поведение было изменено в RFC 3052, реализованном в Cargo 1.53. Из RFC:
cargo init прекратит предварительное заполнение поля при выполнении команды, и оно вообще не будет включать поле в файл Cargo.toml по умолчанию. Авторы ящиков по-прежнему смогут вручную включить это поле перед публикацией, если они того пожелают.
Оказалось, что authors
список в манифесте ящика создавал больше проблем, чем решал, потому что манифест неизменен, в то время как авторы ящика-нет.
Таким образом, на сегодняшний день нет возможности автоматически добавлять authors
новый грузовой проект.
Комментарии:
1. Таким образом, необязательно добавлять поле авторы при публикации проекта?
2. Если RFC 3052 находится в производстве на crates.io, что и должно быть, тогда да.
3. Как бы можно было обновить «книгу», чтобы включить эту информацию (что поле «Авторы» больше не заполняется автоматически и больше не требуется)? Я только начинаю читать книгу и обнаружил, что это также сбивает с толку (и я программирую с 1972 года и потратил целый день на поиски того, как задать переменную среды или параметр командной строки или что-то еще, чтобы заполнить это поле по своему вкусу).
4. Зарегистрируйте проблему с репо