Как обновить зависимости git в Cargo?

У меня есть зависимости библиотеки Rust, на которые ссылается URL-адрес git в Cargo.toml, например:

rust_wheel = { git = "https://github.com/jiangxiaoqiang/rust_wheel.git" }

Теперь я изменил репозиторий git и хочу обновить зависимости для моего текущего проекта. Я попытался использовать эту команду:

cargo install rust_wheel --force

Но он показывает эту ошибку:

error: there is nothing to install in `rust_wheel v0.1.0`, because it has no binaries
`cargo install` is only for installing programs, and can't be used with libraries.
To use a library crate, add it as a dependency in a Cargo project instead.

Я попытался обновить грузовые зависимости в Clion. Это не работает. Что мне делать, чтобы обновить зависимости? Также попробовал команду cargo update rust_wheel.

cargo install предназначен для глобальной установки исполняемых двоичных файлов, а не для управления зависимостями текущего проекта. (npm делает это, верно? Я нахожу это довольно странным.) cargo update должно сработать. Но если вы хотите быть уверены, что у вас самая новая версия, вы можете указать rev = "ba9d9ebed10fa5e213ec5a0845dab534225fa0a0".
Caesar 18.03.2022 15:20
Почему Python в конце концов умрет
Почему Python в конце концов умрет
Последние 20 лет были действительно хорошими для Python. Он прошел путь от "просто языка сценариев" до основного языка, используемого для написания...
0
1
107
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Всякий раз, когда зависимость от репозитория git указывается без каких-либо других спецификаторов (а именно через свойства rev, tag или branch), это означает, что она указана для последней версии основной ветки этого репозитория. Но в любом случае обновление любой зависимости требует обновления файла Cargo.lock проекта. Обычно это означает использование команды cargo update.

cargo update

Это также обнаружит любые изменения в требованиях к версии или происхождению и соответствующим образом обновит блокировку зависимостей.

I tried to use this command: cargo install rust_wheel --force

Это неправильная команда Cargo. cargo install предназначен для установки двоичных файлов в систему, а не для установки зависимостей. Это тоже хорошо документированы.

Also tried cargo update rust_wheel.

Неправильный синтаксис. Чтобы обновить зависимость конкретный, используйте параметр -p.

cargo update -p rust_wheel

Смотрите также:

Другие вопросы по теме