Avatar ·

Как полностью удалить Rust, установленный через rustup (включая все компоненты и кеш)?

Привет! Я начал изучать Rust пару месяцев назад и установил его через официальный инструмент `rustup`. Теперь мне нужно полностью очистить систему от всех следов Rust, потому что я временно перехожу на другой язык программирования и хочу освободить место на диске. Проблема в том, что я не уверен, что простое удаление папки `~/.rustup` и `~/.cargo` полностью очистит систему. Я уже пробовал удалить Rust через `rustup self uninstall`, но после этого остались какие-то файлы в `~/.cargo/bin`, и я не знаю, как их безопасно удалить. Кроме того, я боюсь, что могут остаться какие-то переменные окружения, которые я прописал в `.bashrc` или `.zshrc`, и это может мешать другим инструментам. Вот как я устанавливал Rust: ```bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` И после установки я добавил в `.bashrc` строку: ```bash source $HOME/.cargo/env ``` Сейчас я хочу полностью избавиться от Rust: удалить компилятор `rustc`, пакетный менеджер `cargo`, все скачанные крейты, документацию, инструменты вроде `rustfmt` и `clippy`, и все временные файлы. Подскажите, как это сделать правильно и безопасно, чтобы не сломать систему и не оставить мусора? Я использую Ubuntu 22.04, но хотелось бы универсальное решение, которое подойдёт для любой ОС. Заранее спасибо! <<>>

Полное удаление Rust, установленного через rustup

Вы на правильном пути — rustup self uninstall — это основной способ, но он не всегда удаляет всё до конца. Давайте разберём полный процесс очистки, который гарантированно удалит все компоненты Rust.

Шаг 1: Основная команда удаления

Запустите эту команду в терминале:

rustup self uninstall

Эта команда удалит:

  • Сам rustup (менеджер версий)
  • Все установленные toolchain'ы (stable, nightly, beta)
  • Компилятор rustc
  • Пакетный менеджер cargo
  • Инструменты: rustfmt, clippy, rust-analyzer (если установлены)
  • Локальную документацию (rust-doc)
  • Все скачанные крейты (библиотеки) в кеше

После подтверждения (нажмите "y") скрипт удалит папки ~/.rustup и ~/.cargo.

Шаг 2: Проверка остаточных файлов

Даже после выполнения команды могут остаться некоторые артефакты. Проверьте вручную:

# Проверяем, остались ли папки
ls -la ~/.rustup 2>/dev/null && echo "Папка .rustup существует" || echo "Папка .rustup удалена"
ls -la ~/.cargo 2>/dev/null && echo "Папка .cargo существует" || echo "Папка .cargo удалена"

# Проверяем, остались ли исполняемые файлы
which rustc cargo rustup 2>/dev/null || echo "Исполняемые файлы не найдены в PATH"

Если какие-то папки остались, удалите их вручную:

rm -rf ~/.rustup ~/.cargo

Шаг 3: Очистка переменных окружения

Теперь самое важное — удалить строки из конфигурационных файлов оболочки. Отредактируйте файлы:

  • ~/.bashrc (для Bash)
  • ~/.zshrc (для Zsh)
  • ~/.profile или ~/.bash_profile (если есть)
  • ~/.config/fish/config.fish (для Fish shell)

Найдите и удалите строки, содержащие:

source $HOME/.cargo/env
export PATH="$HOME/.cargo/bin:$PATH"

После редактирования перезагрузите конфигурацию оболочки:

source ~/.bashrc   # для Bash
source ~/.zshrc    # для Zsh

Шаг 4: Дополнительная очистка (опционально)

Если вы используете IDE (VS Code, IntelliJ), проверьте настройки расширений Rust — они могли сохраниться в конфигурационных файлах редактора. Для VS Code это:

~/.config/Code/User/settings.json  # Linux
~/Library/Application Support/Code/User/settings.json  # macOS

Удалите секции, связанные с Rust (например, "rust-analyzer.server.path").

Шаг 5: Проверка финального результата

Убедитесь, что удаление прошло успешно:

# Проверка версий (должны быть ошибки "command not found")
rustc --version
cargo --version
rustup --version

# Проверка, что PATH не содержит путей к Rust
echo $PATH | grep -o 'cargo\|rustup'

Важные замечания

  • Не используйте sudo — rustup устанавливается только для текущего пользователя, поэтому sudo не требуется и может создать проблемы с правами.
  • Системные пакеты — если вы устанавливали Rust через системный пакетный менеджер (apt, pacman, brew), удаляйте отдельно: sudo apt remove rustc cargo.
  • Проекты — ваши проекты в других папках не будут удалены. Если хотите очистить и их, удалите вручную или используйте cargo clean внутри каждого проекта перед удалением.

После выполнения всех шагов ваша система будет полностью очищена от Rust. Если в будущем захотите вернуться — просто выполните ту же команду установки с официального сайта.

<<>>

Альтернативный подход: удаление через скрипт-деинсталлятор

Если стандартный rustup self uninstall по каким-то причинам не сработал (например, бинарник rustup повреждён или удалён), можно использовать официальный скрипт деинсталляции. Он работает аналогично установочному скрипту, но в обратную сторону.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --uninstall

Этот скрипт:

  • Скачивает свежую версию rustup (если старая повреждена)
  • Запускает процедуру удаления
  • Автоматически очищает ~/.rustup и ~/.cargo

Ручная очистка для самых дотошных

Если вы хотите убедиться, что не осталось ни одного файла, связанного с Rust, выполните поиск по всей домашней директории:

# Поиск всех файлов, содержащих "rust" или "cargo" в имени
find ~ -name "*rust*" -o -name "*cargo*" 2>/dev/null | grep -v ".cache" | grep -v ".npm"

# Поиск в системных директориях (требует sudo)
sudo find /usr/local /opt /etc -name "*rust*" -o -name "*cargo*" 2>/dev/null

Важно: будьте осторожны с sudo find — не удаляйте ничего, в чём не уверены. Лучше сначала просто просмотрите список найденных файлов.

После завершения очистки рекомендую перезагрузить компьютер или хотя бы перезапустить терминал, чтобы все изменения вступили в силу.