#rust #rust-cargo
#Ржавчина #rust-груз
Вопрос:
Я следую основным шагам здесь: file:///Users/leongaban/.rustup/toolchains/stable-x86_64-apple-darwin/share/doc/rust/html/book/ch01-03-hello-cargo.html
Я проверил свою грузовую версию и cd ..
создал резервную копию в своих корневых папках проекта и выполнил следующую команду для создания нового проекта:
cargo new hello_cargo
И он выдал следующую ошибку:
ошибка: не удалось создать пакет
hello_cargo
в/Users/leongaban/projects/rust_projects/hello_cargo
Однако, когда я запускаю ls
, он создал папку? Итак, мне любопытно, как мне избежать этой ошибки в будущем?
rust_projects % cargo new hello_cargo
error: Failed to create package `hello_cargo` at `/Users/leongaban/projects/rust_projects/hello_cargo`
Caused by:
could not find '/Users/leongaban/.git-templates/' to stat: No such file or directory; class=Os (2); code=NotFound (-3)
rust_projects % ls
hello_cargo hello_world
Комментарии:
1. По умолчанию cargo пытается создать репозиторий Git в проекте. Если вам это не нужно, просто запустите
cargo new --vcs none hello_cargo
.2. Или установите git, конечно.
Ответ №1:
Возможно, это вызвано git init
командой, вызываемой при запуске cargo new
, исходный код выглядит следующим образом:
if !path.join(".git").exists() {
// Temporary fix to work around bug in libgit2 when creating a
// directory in the root of a posix filesystem.
// See: https://github.com/libgit2/libgit2/issues/5130
paths::create_dir_all(path)?;
GitRepo::init(path, config.cwd())?;
}
И .git-templates
это задокументировано в разделе git init
КАТАЛОГА ШАБЛОНОВ.
Каталог шаблонов будет одним из следующих (по порядку):
- аргумент, указанный с параметром —template;
- содержимое переменной среды $GIT_TEMPLATE_DIR;
- переменная конфигурации init.templateDir; или
- каталог шаблонов по умолчанию: /usr/share/git-core/templates .
Поэтому вы должны проверить выше 4 возможных причин для установки несуществующей папки '/Users/leongaban/.git-templates/'
как git tempalte dir при запуске git init
.
Ответ №2:
У меня тоже была эта проблема. Моя среда:
System: MacOS Catalina (version: 10.15.7)
Rustc version: rustc 1.51.0
Решение:
rustup self install
curl https://sh.rustup.rs -sSf | sh
Ответ №3:
У меня был шаблон, определенный в моем gitconfig
[init]
templatedir = /Users/johndye/.git-templates
Я не уверен, когда это было добавлено или почему, но комментирование помогло мне преодолеть эту ошибку