dotnet 在 macOS 安裝後,要能完全移除其實需要一點 CLI 的知識外,也要多研讀一下 Microsoft Learn:
如何移除 .NET 執行階段和 SDK 的介紹。
或是使用 ".NET 解除安裝工具" 來進行。
但如果不介意統一用 brew 來安裝 dotnet 的時候;再加上一點點小技巧,那其實管理、使用與解除安裝時都會相對方便的。
例如在 "macOS 中使用 WailBrew - 專為 brew 設計的 GUI 軟體" 所分享的介紹裡,透過 WailBrew 就可以很直觀的找到 brew 裡的 dotnet 來安裝:

當時 macOS 的電腦環境已經有先透過微軟的 Download .NET 安裝過 dotnet 9 的 SDK 與 Runtime,可透過 "dotnet --info" 在 "Terminal (終端機)" 查詢:

而當無論是透過 brew 的 CLI 安裝或 WailBrew 的 GUI 安裝 dotnet 完畢後,透過 "dotnet --info" 卻都無法查詢到已安裝新的 dotnet 環境。
最主要是因為 brew 的套件安裝在設計時考慮到會影響到,原本透過其他安裝方式造成已有環境的設定影響,尤其是那些有被標註成 [keg-only] 的套件。

而按照上述說明,可以有兩種方式來設定所安裝的這個 dotnet@8 為預設的 dotnet 環境:
- export DOTNET_ROOT="/opt/homebrew/opt/dotnet@8/libexec"
- echo 'export PATH="/opt/homebrew/opt/dotnet@8/bin:$PATH"' >> ~/.zshrc
第一種作法是在 macOS 當中設定 "暫時性" 的環境變數,當 macOS 重新開機後則會失效。
第二種作法是在 macOS 在帳號登入時 Shell (zsh)載入,透過 Shell (zsh) 會預設讀取的 ~/.zshrc 檔案並執行其中的指令,所以會在 PATH 的最前面寫入 "/opt/homebrew/opt/dotnet@8/bin:"。
來看看若採取第二種作法,會發生什麼事情。
首先,先查看一下目前 macOS 的 PATH 設定 "echo $PATH":

接著輸入:
echo 'export PATH="/opt/homebrew/opt/dotnet@8/bin:$PATH"' >> ~/.zshrc

完成後再透過:
source ~/.zshrc
重新載入 Shell 設定。

再次透過 "echo $PATH" 看到 PATH 的前面多了所設定的路徑。
這時候再一次查詢 "dotnet --info":

所以採取這做法則會把整個 macOS 的 dotnet 設定都導向 dotnet@8 的設定中,這並不能達成讓 macOS 中同時有安裝 dotnet 不同版本,存且使用的做法。
記得把 ~/.zshrc 中新增的設定刪除;如果完全不需要這個檔案可以透過指令 "rm -rf ~/.zshrc" 移除。
解決的辦法,利用 SymLink 把 brew 所安裝的 dotnet@8 接入本來 dotnet 的環境預設資料夾:
dotnet sdk:
ln -s /opt/homebrew/opt/dotnet@8/libexec/sdk/8.0.121 /usr/local/share/dotnet/sdk/8.0.121
dotnet runtime:
1. ln -s /opt/homebrew/opt/dotnet@8/libexec/shared/Microsoft.AspNetCore.App/8.0.21 /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/8.0.21
2. ln -s /opt/homebrew/opt/dotnet@8/libexec/shared/Microsoft.NETCore.App/8.0.21 /usr/local/share/dotnet/shared/Microsoft.NETCore.App/8.0.21

其中 dotnet sdk、dotnet runtime 的資料夾版號要確認 brew 所安裝的版本號。
完成後再一次 "dotnet --info":

I'm a Microsoft MVP - Developer Technologies (From 2015 ~).

I focus on the following topics: Xamarin Technology, Azure, Mobile DevOps, and Microsoft EM+S.
If you want to know more about them, welcome to my website:
https://jamestsai.tw
本部落格文章之圖片相關後製處理皆透過 Techsmith 公司 所贊助其授權使用之 "Snagit" 與 "Snagit Editor" 軟體製作。