Как полностью удалить Rust, установленный через rustup?
Полное удаление Rust через rustup (правильный способ)
Ошибка «could not execute 'self uninstall'» возникает, когда rustup повреждён или его исполняемый файл отсутствует. Однако есть надёжный метод, который гарантированно удалит все компоненты. Ниже — пошаговая инструкция для Windows, Linux и macOS.
Шаг 1: Используйте встроенную команду (если rustup работает)
Если rustup всё ещё доступен в PATH, выполните:
rustup self uninstall
Эта команда удалит:
- Директорию
~/.rustup(или%USERPROFILE%\.rustupна Windows) — все тулчейны, компоненты и таргеты. - Директорию
~/.cargo(или%USERPROFILE%\.cargo) — самcargo, установленные крейты и бинарники. - Записи в PATH, добавленные установщиком.
После выполнения команды подтвердите действие нажатием y. Это самый чистый метод.
Шаг 2: Ручное удаление (если rustup не работает)
Если вы получили ошибку, как в вопросе, удалите вручную:
- Windows:
%USERPROFILE%\.rustupи%USERPROFILE%\.cargo. - Linux/macOS:
~/.rustupи~/.cargo.
Затем удалите из переменной окружения PATH строки, содержащие .cargo/bin (например, C:\Users\ВашеИмя\.cargo\bin на Windows или /home/user/.cargo/bin на Linux).
Шаг 3: Очистка реестра Windows (только для Windows)
Если вы устанавливали Rust через официальный установщик rustup-init.exe, он мог добавить записи в реестр. Откройте regedit и проверьте:
HKEY_CURRENT_USER\Environment— удалите строкуCARGO_HOMEиRUSTUP_HOME, если они есть.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment— аналогично.
После правки реестра перезагрузите компьютер или выполните refreshenv (если используете PowerShell с модулем pscx).
Шаг 4: Проверка остатков
Убедитесь, что удаление прошло успешно:
rustc --version
# Должна быть ошибка: 'rustc' is not recognized...
cargo --version
# Аналогичная ошибка
Также проверьте, что папки .rustup и .cargo больше не существуют:
# Linux/macOS
ls -la ~/ | grep -E '\.rustup|\.cargo'
# Windows (PowerShell)
Get-ChildItem $env:USERPROFILE -Hidden | Where-Object { $_.Name -match '\.rustup|\.cargo' }
Шаг 5: Переустановка Rust
После полной очистки можно установить Rust заново:
# Windows (скачайте rustup-init.exe с https://rustup.rs)
rustup-init.exe
# Linux/macOS
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Важно: Никогда не удаляйте .rustup и .cargo вручную, если rustup self uninstall работает — это может повредить конфигурацию. Всегда сначала пробуйте встроенную команду.
Альтернативный подход: использование скрипта очистки
Если вы не уверены, что удалили все остатки, или хотите автоматизировать процесс, можно написать простой скрипт. Например, для Windows PowerShell:
# Удаление директорий
Remove-Item -Recurse -Force "$env:USERPROFILE\.rustup"
Remove-Item -Recurse -Force "$env:USERPROFILE\.cargo"
# Удаление переменных окружения из реестра (текущий пользователь)
$envPath = [Environment]::GetEnvironmentVariable("Path", "User")
$newPath = ($envPath -split ';' | Where-Object { $_ -notmatch '\.cargo\\bin' }) -join ';'
[Environment]::SetEnvironmentVariable("Path", $newPath, "User")
# Удаление CARGO_HOME и RUSTUP_HOME
[Environment]::SetEnvironmentVariable("CARGO_HOME", $null, "User")
[Environment]::SetEnvironmentVariable("RUSTUP_HOME", $null, "User")
Write-Host "Rust полностью удалён. Перезапустите терминал."
Для Linux/macOS можно использовать:
#!/bin/bash
rm -rf ~/.rustup ~/.cargo
# Удаление из PATH в .bashrc/.zshrc
sed -i '/\.cargo\/bin/d' ~/.bashrc
source ~/.bashrc
echo "Rust удалён."
Этот метод полезен, если вы хотите гарантированно очистить всё за один запуск, особенно при массовом удалении на нескольких машинах. Однако помните, что скрипт удаляет все установленные крейты и проекты в .cargo — предварительно сохраните важные данные.
Ответов пока нет.
Войдите чтобы оставить ответ
Блоги