Как обновить Cargo до последней стабильной версии?
Правильный способ обновления Cargo
Вы столкнулись с очень распространённым заблуждением начинающих Rust-разработчиков. Команда cargo update действительно не обновляет сам Cargo — она обновляет зависимости в вашем проекте, перечитывая файл Cargo.lock. А cargo install cargo пытается установить пакет из реестра crates.io, но такого пакета там нет, потому что Cargo — это часть инструментария Rust.
Правильный способ обновления Cargo — использовать rustup, так как именно он управляет установкой Rust и всех связанных компонентов. Выполните в терминале:
rustup update
Эта команда обновит все компоненты: компилятор rustc, менеджер пакетов cargo, библиотеку rust-std и другие инструменты до последних стабильных версий. Если вы используете nightly-канал, он тоже будет обновлён.
Проверка текущей версии
Перед обновлением и после него полезно проверить версии:
cargo --version
rustc --version
Вывод должен выглядеть примерно так:
cargo 1.77.0 (a36d62bdb 2024-03-26)
rustc 1.77.0 (a36d62bdb 2024-03-26)
Если rustup не установлен
Если у вас нет rustup (редкий случай, обычно он устанавливается вместе с Rust), сначала установите его:
- Windows: скачайте
rustup-init.exeс официального сайта и запустите. - Linux/macOS: выполните
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Что делать, если rustup update не помогает?
Иногда может возникнуть ситуация, когда rustup update не находит новую версию, хотя вы знаете, что она вышла. Причины:
- Вы на стабильном канале, а новая версия ещё не вышла — Rust выпускает стабильные версии каждые 6 недель, проверьте официальный блог.
- Проблемы с сетью — попробуйте
rustup update --forceили проверьте настройки прокси. - Вы используете нестандартный канал — проверьте текущий канал командой
rustup show.
Пример полного цикла обновления
# Проверяем текущую версию
cargo --version
# Обновляем всё
rustup update
# Снова проверяем версию
cargo --version
После этого вы сможете использовать все новые возможности Cargo, например cargo add для добавления зависимостей (появилось в Cargo 1.62+) или cargo remove (Cargo 1.64+).
Важные замечания
- Никогда не пытайтесь удалять Cargo вручную — это может сломать установку.
- Если вам нужно откатиться на старую версию, используйте
rustup install 1.76.0(укажите нужную версию). - Для Windows убедитесь, что пути к
rustupи Cargo добавлены вPATH(обычно это делается автоматически).
Альтернативный подход: переустановка через rustup
Если стандартная команда rustup update по какой-то причине не работает (например, повреждены файлы инструментария), можно выполнить полную переустановку Rust и Cargo.
Шаги:
- Удалите текущую установку:
Подтвердите удаление, нажавrustup self uninstally. - Скачайте свежий установщик с официального сайта или выполните:
Для Windows используйтеcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shrustup-init.exe. - Следуйте инструкциям установщика. Выберите стандартную установку (по умолчанию).
- После завершения проверьте версию:
cargo --version
Когда это полезно?
- Если вы случайно удалили важные файлы Cargo.
- Если
rustup updateвыдаёт ошибки о повреждённых компонентах. - Если вы хотите перейти с бета-канала на стабильный (или наоборот) и стандартное переключение не помогает.
Важно: При переустановке ваши проекты и файлы не пострадают — удаляется только инструментарий Rust. Однако все ранее установленные через cargo install утилиты (например, cargo-edit, cargo-watch) придётся устанавливать заново.
Этот метод — крайняя мера. В 99% случаев достаточно просто выполнить rustup update.