Как обновить Cargo до последней стабильной версии? Команда для обновления менеджера пакетов Rust
Краткий ответ: Cargo обновляется вместе с Rust через rustup
Да, вы всё верно подметили — Cargo не обновляется отдельно от Rust. Это часть единого инструментария (toolchain). Поэтому правильная команда для обновления всего, включая Cargo, будет:
rustup update
Эта команда обновит стабильный канал Rust до последней версии, а вместе с ним — Cargo, rustc (компилятор) и другие утилиты (rustdoc, clippy, rustfmt и т.д.).
Почему так, а не иначе?
Cargo — это не самостоятельный пакет, а часть официального дистрибутива Rust, который управляется через rustup. Версии Cargo и Rust привязаны друг к другу, потому что:
- Cargo использует внутренние API компилятора (например, для разрешения зависимостей и сборки кода)
- Новые возможности Cargo часто требуют поддержки со стороны компилятора
- Стабильность всего инструментария тестируется как единое целое
Проверка текущей версии
Чтобы убедиться, что обновление прошло успешно:
cargo --version
# Пример вывода:
# cargo 1.72.0 (103a7ff2e 2023-08-15)
rustc --version
# rustc 1.72.0 (5680fa18f 2023-08-16)
Что если нужно обновить только Cargo без Rust?
Технически это возможно, но крайне не рекомендуется. Вы можете установить Cargo из исходников или через менеджер пакетов вашей ОС, но это может привести к несовместимости версий. Лучший способ — всегда обновлять всё вместе через rustup update.
Дополнительные полезные команды rustup
rustup update stable— обновить только стабильный каналrustup update nightly— обновить ночной канал (если он установлен)rustup check— проверить, есть ли обновления (без установки)rustup self update— обновить сам rustup (менеджер версий)
Если rustup не установлен
Возможно, вы устанавливали Rust через системный пакетный менеджер (apt, pacman и т.д.). В таком случае:
# Для Ubuntu/Debian
sudo apt update && sudo apt upgrade rustc cargo
# Но лучше перейти на rustup — он даёт больше контроля
# Установка rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
После установки rustup вы сможете легко переключаться между каналами (stable, beta, nightly) и всегда иметь свежие версии.
Итог: если вы используете rustup (рекомендованный способ), просто выполняйте rustup update время от времени — это обновит и Rust, и Cargo до последних стабильных версий.
Альтернативный подход: использование пакетных менеджеров ОС
Если вы по каким-то причинам не хотите использовать rustup (например, на сервере с ограниченными правами), можно обновлять Cargo через системный пакетный менеджер. Но учтите: версии в репозиториях часто отстают от официальных.
Для разных ОС:
- Ubuntu/Debian:
sudo apt update && sudo apt upgrade cargo - Fedora/RHEL:
sudo dnf upgrade cargo - Arch Linux:
sudo pacman -Syu cargo - macOS (Homebrew):
brew upgrade rust
Важное предостережение
Этот способ может привести к несоответствию версий Cargo и компилятора. Например, вы обновили Cargo, но rustc остался старым — некоторые функции могут не работать. Поэтому rustup остаётся рекомендованным инструментом.
Если вообще ничего не помогает
Можно скачать бинарные сборки с официального сайта и вручную заменить файлы Cargo. Но это сложный и небезопасный путь — лучше переустановить Rust через rustup.