После установки Rust через rustup нет стандартной цепочки инструментов (toolchain)
Решение: ручная установка активной цепочки инструментов
Проблема в том, что rustup при установке не настроил активную цепочку инструментов (active toolchain). Хотя сам stable установлен, он не назначен как активный для текущей сессии. Это может случиться из-за повреждённой конфигурации или специфики Windows-установщика.
Вот пошаговое решение:
- Проверьте текущее состояние — выполните в терминале:
rustup toolchain list
Вы должны увидеть что-то вроде:
stable-x86_64-pc-windows-msvc (default)
Скобка (default) указывает, что это цепочка по умолчанию, но она не активна.
- Принудительно установите активную цепочку — выполните команду:
rustup default stable
Эта команда делает две вещи:
- Устанавливает цепочку
stableкак активную для всех проектов (глобально). - Если stable не установлен, он будет скачан автоматически.
- Проверьте результат — снова выполните:
rustup show
Теперь в разделе active toolchain должно быть:
stable-x86_64-pc-windows-msvc (default)
А затем проверьте компилятор и менеджер пакетов:
rustc --version
cargo --version
Если не помогло: альтернативные шаги
Иногда команда rustup default stable не срабатывает из-за проблем с переменными окружения. В таком случае:
- Проверьте переменную PATH — в ней должны быть пути:
%USERPROFILE%\.cargo\bin
%USERPROFILE%\.rustup\toolchains\stable-x86_64-pc-windows-msvc\bin
Чтобы добавить их вручную (если их нет):
- Откройте «Системные переменные среды» (через поиск Windows).
- В разделе «Переменные среды пользователя» найдите
PATHи добавьте строки выше. - Перезапустите терминал.
- Сбросьте конфигурацию rustup — если ничего не работает, сбросьте настройки:
rustup set default-host x86_64-pc-windows-msvc
rustup default stable
- Переустановка с очисткой — удалите папки
.rustupи.cargoв вашей домашней директории, затем переустановитеrustup-initи при установке выберите опцию «1) Proceed with installation (default)».
После этих шагов ошибка исчезнет, и вы сможете компилировать код на Rust. Например, создайте простой проект:
cargo new hello_rust
cd hello_rust
cargo run
Если всё работает — проблема решена!
<<Альтернативный подход: использование override для конкретной папки
Если глобальная настройка не нужна, или вы хотите временно обойти ошибку, можно установить активную цепочку только для текущего проекта. Это полезно, когда вы работаете с несколькими версиями Rust (например, stable и nightly).
Перейдите в папку вашего проекта и выполните:
cd C:\Users\me\projects\my_rust_app
rustup override set stable
Теперь для этой директории и всех её подпапок будет использоваться stable. Проверьте:
rustc --version # должно работать
cargo --version # тоже работает
Важно: этот метод не решает корневую проблему — глобально toolchain всё ещё не настроен. Но он позволяет сразу начать работу, не разбираясь с переменными окружения. Если вам нужно, чтобы команды работали в любом терминале без дополнительных действий, лучше используйте основной ответ с rustup default stable.
Также стоит проверить, не блокирует ли антивирус доступ к файлам rustup. В редких случаях Windows Defender или сторонние антивирусы могут помешать созданию символьных ссылок, которые использует rustup для активации toolchain. Временно отключите антивирус и повторите команду rustup default stable.