cargo init больше не создаст манифест прямо в домашнем каталоге
28.01.2026Создание нового пакета в домашнем каталоге теперь завершается ошибкой с подсказкой. Раньше команда создавала манифест, и это ломало работу Cargo в любом вложенном каталоге.
Что произходило
Манифест в домашнем каталоге превращал весь этот каталог в корень пакета. А Cargo ищет корень, поднимаясь вверх от текущего каталога. Значит, любая команда, запущенная в любой вложенной папке — включая папки вроде «Загрузки» или «Документы», — начинала считаться частью пакета с манифестом в домашнем каталоге.
Это ломало сборку внутри вложенных проектов: Cargo поднимался выше их манифеста и находил домашний. Сообщение об ошибке при этом указывало на домашний каталог, а не на тот проект, где человек запускал команду.
Что изменилось
Команда отказывается выполняться и подсказывает указать имя подкаталога. То есть либо создать пакет в отдельной папке, либо явно указать её.
Проверка стоила одной строки перед созданием; сама проблема — одна из самых запутанных для новичков, потому что указывает не на ту папку.
Оригинал
A Cargo.toml in the home directory causes issues with file discovery, as Cargo will treat the entire home directory as a package root when running commands from any subdirectory.
Упоминаний: 1 · Просмотров: 4