> Инструкция сгенерирована ChatGPT-5 Thinking, но я по этой инструкции настроил общий dotnet для Rider и терминала MacOS ## 1) Установите .NET системно (стандартный способ) Один из вариантов (любой): ```bash # Homebrew (удобно на macOS/ARM) brew install --cask dotnet-sdk # или официальный .pkg с сайта Microsoft (даёт те же пути в /usr/local/share/dotnet) ``` - `--cask` — флаг (flag), говорящий Homebrew, что нужно установить **cask**: готовый бинарный/GUI-пакет (вроде `.pkg`/`.dmg`), а не «формулу» (formula) из исходников. - `dotnet-sdk` — токен пакета (package token), название нужного cask; здесь это официальный .NET SDK от Microsoft (CLI `dotnet`, компиляторы и т.д.). Проверка: ```bash dotnet --list-sdks # должен появиться 9.0.1xx ``` ## 2) Переключите Rider на системный CLI Rider → **Preferences → Build, Execution, Deployment → .NET / Toolset and Build** В поле **.NET CLI executable path** выставьте: ``` /usr/local/share/dotnet/dotnet ``` И сохраните настройку **This computer** (чтобы было глобально). ## 3) Уберите из окружения ссылки на `~/.dotnet` Если раньше добавляли их вручную, почистите `~/.zshrc` (и при наличии `~/.zprofile`, `~/.zshenv`): ```bash # Создадим бэкап и удалим строки с .dotnet/DOTNET_ROOT cp ~/.zshrc ~/.zshrc.bak.$(date +%Y%m%d-%H%M%S) sed -i '' '/\.dotnet/d;/DOTNET_ROOT/d' ~/.zshrc # Перезапустим шелл exec zsh -l ``` ## 4) Контроль, что теперь всё смотрит на системный SDK ```bash which dotnet # обычно /usr/local/share/dotnet/dotnet (или /usr/local/bin/dotnet -> .../share/dotnet/dotnet) dotnet --version # 9.0.x dotnet --info | grep 'Base Path' # .../usr/local/share/dotnet/sdk/9.0.1xx ``` В Rider откройте встроенный терминал и повторите команды — вывод должен совпадать. > Если используете «пинning» SDK через `global.json`, убедитесь, что там указана 9.0.100+: > > ```json > { "sdk": { "version": "9.0.100", "rollForward": "latestFeatureBand" } } > ``` ## 5) Безопасно удалите `~/.dotnet` ⚠️ Это удалит также глобальные инструменты (dotnet **global tools**) из `~/.dotnet/tools`. Сначала посмотрите, нет ли важных: ```bash dotnet tool list -g ``` Если есть — выпишите их, чтобы потом переустановить. Теперь удаление: ```bash rm -rf ~/.dotnet ``` --- ## Частые «подводные камни» - **Global tools**: после удаления `~/.dotnet` их не будет видно. Переустановите при необходимости: ```bash dotnet tool install -g <tool-id> ``` - **Старые переменные окружения**: оставшийся `DOTNET_ROOT=$HOME/.dotnet` может мешать. Убедитесь, что его нет (`printenv | grep DOTNET_ROOT`). - **Несовпадение в Rider**: если после удаления IDE жалуется на CLI — снова укажите путь `/usr/local/share/dotnet/dotnet`. Готово: теперь у Вас «стандартный» сетап — один системный SDK (.NET 9) для терминала, Rider и CI, без дублирования в `~/.dotnet`.