Как я могу установить авторов по умолчанию для новых грузовых проектов?

#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. Зарегистрируйте проблему с репо