Подтвердить что ты не робот

Имеет ли сборка груза эквивалентную команду обновления?

Я хотел бы обновить пакет, который я использовал cargo install для глобальных пакетов, таких как rustfmt или racer. Я не могу найти способ обновить установленный пакет, не удалив его сначала (через cargo uninstall), а затем снова запустив команду установки. Есть ли команда обновления?

4b9b3361

Ответ 1

Решение, которое я нашел, это добавить флаг --force в команду установки. Например cargo install --force clippy. Это позволит эффективно переустановить последнюю версию.

Ответ 2

В vanilla cargo нет такой команды (ну, там cargo install, но для зависимостей), но поскольку cargo поддерживает сторонние подкоманды есть ответ: cargo-update ящик.

Установите, как обычно, с помощью cargo install cargo-update, а затем используйте cargo install-update -a для обновления всех установленных пакетов. Дополнительные сведения об использовании и примеры см. в cargo install-update manpage.

Отказ от ответственности: am автор

Ответ 3

Неа. Вы можете обсудить это в этой проблеме.

Ответ 4

Начиная с Cargo 1.36.0, теперь вы можете использовать следующую команду для ночной цепочки инструментов вместо использования ящика обновления cargo-update для обновления ящиков до их последней версии:

rustup install nightly
cargo +nightly install -Z install-upgrade <crate>

Это было получено из запроса извлечения # 6798 (Добавить установку-обновление).

Как это работает?

Вместо сбоя, когда cargo install обнаруживает, что пакет уже установлен, он будет обновляться, если версии не совпадают, или ничего не делать (выход 0), если он считается "обновленным".

Принудительное обновление/переустановка

Следующая команда всегда удаляет, загружает и компилирует последнюю версию ящика, даже если более новой версии нет. В обычных условиях предпочтение следует отдавать функции install-upgrade как она экономит время и пропускную способность, если не существует новой версии ящика.

cargo install --force <crate>

Документация

Дополнительную информацию можно найти в выпуске GitHub rust-lang/cargo # 6797 и в главе официальной документации " Нестабильные функции → установка-обновление".