跳到主要內容

這裡是 Mole Mac 官網,要去 Windows 版官網嗎?

立即前往
Mole
MacWindows
功能 實測 口碑 定價 常見問題 部落格
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES
立即購買購買 下載

    說明、文件、發佈紀錄與文章

    部落格

    如何在 Mac 上解除安裝 Python 和 Node.js

    開發者發布 2026年10月6日更新 2026年10月17日9 分鐘閱讀

    要在 Mac 上解除安裝 Python 或 Node.js,先弄清楚你要移除的是哪一份,因為通常不只一份,每一份的移除方式也不同。執行 which -a python3 或 which -a node,看看 PATH 上的每一份,然後透過當初安裝它的工具移除:Homebrew 用 brew uninstall,pyenv 用 pyenv uninstall,nvm 用 nvm uninstall,conda 照 Anaconda 文件裡的步驟,python.org 或 nodejs.org 的安裝程式則是移除它們的套件寫入的檔案。/usr/bin/python3 不要動,它屬於 macOS 和 Apple 的開發者工具。

    接著清掉這些工具加進 shell 啟動檔的那幾行,以及它們留在個人專屬檔案夾裡的快取。這篇指南就照這個順序走:辨認、移除、清理 PATH、清除快取、驗證。

    找出 PATH 上的每一份 Python 和 Node

    這些指令只讀取資訊:

    which -a python3 python node npm
    type -a python3 node
    python3 -c 'import sys; print(sys.executable)'
    

    which -a 會依 PATH 順序列出每一個符合的結果,第一行就是你輸入指令時實際執行的那一個。type -a 還會顯示別名和 shell 函式,這對版本管理工具很重要:例如 nvm 會把 nvm 定義成 shell 函式,pyenv 和某些設定則會在真正的執行檔前面放 shim。遇到符號連結,用 ls -l 追下去,看它實際指向哪裡。

    拿這些路徑對照下表:

    路徑開頭 安裝者 怎麼移除
    /usr/bin/python3 macOS,供 Xcode 和 Command Line Tools 使用 不要動
    /Library/Frameworks/Python.framework,或 /usr/local/bin 裡指向它的連結 python.org 安裝程式 移除它的三個部分(見下文)
    /opt/homebrew(Apple 晶片)或 /usr/local/Cellar、/usr/local/opt(Intel) Homebrew brew uninstall
    ~/.pyenv/shims 或 ~/.pyenv/versions pyenv pyenv uninstall
    ~/anaconda3、~/miniconda3、/opt/anaconda3、/opt/miniconda3 Anaconda 或 Miniconda conda init --reverse,再移除檔案夾
    不是 Homebrew 連結的 /usr/local/bin/node nodejs.org 安裝程式 移除它的檔案,再清除它的安裝收據
    ~/.nvm/versions/node nvm nvm uninstall
    ~/Library/Application Support/fnm 或 ~/.fnm fnm fnm uninstall,再移除檔案夾
    ~/.volta Volta 移除 ~/.volta

    在 Intel Mac 上,Homebrew 和 nodejs.org、python.org 的安裝程式都會寫入 /usr/local,所以在認定那裡的某個檔案可以由你刪除之前,先用 ls -l 檢查它是不是指向 Homebrew Cellar 的連結。

    不要移除 macOS 內建的 Python

    Python 的 macOS 文件寫得很明確:近期的 macOS 在 /usr/bin/python3 內含一個 python3 指令,它連結到由 Apple 開發者工具提供、也供其使用的 Python 版本,你絕對不該修改或嘗試刪除它,因為它由 Apple 控制,Apple 提供的軟體和第三方軟體都會用到它。何況它就在密封的系統卷宗上。來自 python.org 或 Homebrew 的第二份 Python 可以和它並存;要改的是 PATH 決定哪一個先執行,而不是刪除 Apple 的那一份。

    解除安裝從 python.org 安裝的 Python

    根據同一份文件,python.org 的安裝程式會在 Mac 上放三樣東西:「應用程式」裡一個含有 IDLE 和 Python Launcher 的 Python 3.x 檔案夾、位於 /Library/Frameworks/Python.framework 的 framework,以及 /usr/local/bin 裡指向執行檔的符號連結。文件說,要解除安裝 Python,移除這三樣東西即可。

    一次移除一個版本。以 3.12 為例:

    ls /Library/Frameworks/Python.framework/Versions
    ls -l /usr/local/bin | grep 'Python.framework/Versions/3.12'
    

    第一行列出已安裝的版本;第二行顯示 /usr/local/bin 裡有哪些連結指向你要移除的版本。接著把 /Applications/Python 3.12 移到垃圾桶,用管理者權限刪除 /Library/Frameworks/Python.framework/Versions/3.12,再只刪除第二行指令列出的那些連結。如果移除的是最後一個版本,整個 Python.framework 檔案夾都可以刪掉。

    安裝程式也會留下一份安裝收據,可以用 pkgutil --pkgs | grep -i python 找到。收據本身不會執行,但 pkgutil --files <id> 會列出那個套件實際寫入的內容,這是最可靠的路徑清單。讀取和清除收據的方法見解除安裝用 .pkg 套件安裝的 Mac App。

    解除安裝用 Homebrew 安裝的 Python

    Homebrew 依版本替 Python formula 命名,例如 python@3.13。先檢查裝了什麼,以及有什麼依賴它:

    brew list --formula | grep '^python'
    brew uses --installed python@3.13
    

    如果 brew uses 列出了其他 formula,它們就需要這個 Python,只要它們還在,Homebrew 就會拒絕解除安裝。先移除這些依賴者,或保留那個版本。沒有東西依賴它時,brew uninstall python@3.13 就能移除它,brew autoremove 則會清掉其他東西都不再需要的依賴項目。移除 Homebrew 本身是另一件大得多的工作,見用官方腳本解除安裝 Homebrew。

    解除安裝 pyenv 的版本或 pyenv 本身

    pyenv README 說用 pyenv uninstall <version> 移除舊版本,pyenv prefix <version> 則會顯示某個版本的目錄。外掛在解除安裝時可能會多做一些事,例如 pyenv-virtualenv 也會移除連結到該版本的虛擬環境。

    pyenv versions
    pyenv uninstall 3.11.9
    

    要完全移除 pyenv,README 說要先從 shell 啟動檔中移除所有 pyenv 設定行,再用 rm -rf $(pyenv root) 移除它的根目錄,這會刪掉安裝在底下的每一份 Python。如果你是用 Homebrew 安裝 pyenv,最後再執行 brew uninstall pyenv。刪除任何東西之前,先執行 pyenv root,看清楚它印出的路徑。

    解除安裝 Anaconda 或 Miniconda

    Anaconda 的解除安裝指南和對應的 Miniconda 指南在 macOS 上用的是同樣的三個步驟:

    1. 從 shell 設定檔移除 conda 的初始化:先執行 conda activate,再執行 conda init --reverse --all。
    2. 刪除安裝檔案夾。Anaconda 提到,依安裝方式不同,它可能在你的個人專屬檔案夾或 /opt 裡;conda info --base 會印出實際位置。常見路徑是 ~/anaconda3、~/miniconda3、/opt/anaconda3 或 /opt/miniconda3,/opt 底下的需要 sudo。
    3. 視需要移除隱藏的設定和資料檔 ~/.condarc、~/.conda 和 ~/.continuum。如果你有自訂設定並打算重新安裝,Anaconda 建議保留 .condarc。

    指南提醒,rm -rf 刪除時不會確認,也無法復原,所以按下 Return 之前先檢查路徑。你建立的環境放在安裝檔案夾裡或 ~/.conda 底下,需要的環境先用 conda env export -n <name> > env.yml 匯出。

    解除安裝從 nodejs.org 安裝的 Node.js

    官方的 macOS 安裝套件其實是兩個套件合在一起。Node 自己的安裝程式定義把它們登記為 org.nodejs.node.pkg 和 org.nodejs.npm.pkg,結束畫面也說它把 node 安裝到 /usr/local/bin/node、把 npm 安裝到 /usr/local/bin/npm(安裝程式原始碼)。npm 套件也會從 /usr/local/lib/node_modules/npm 把 npx 連結到 /usr/local/bin。

    移除任何東西之前,先列出這些套件寫入了什麼:

    pkgutil --pkgs | grep -i nodejs
    pkgutil --pkg-info org.nodejs.node.pkg
    pkgutil --files org.nodejs.node.pkg | head -50
    

    --pkg-info 會顯示安裝位置,檔案清單則是相對於這個位置。移除兩份清單列出的內容,重點是 /usr/local/bin/node、npm 和 npx,以及 /usr/local/lib/node_modules/npm 檔案夾。刪除整個 /usr/local/lib/node_modules 之前先看看裡面,你用 npm install -g 安裝的全域套件也放在那裡。接著執行 sudo pkgutil --forget org.nodejs.node.pkg,再對 org.nodejs.npm.pkg 做一次,這只會清除安裝收據。

    解除安裝來自 Homebrew、nvm、fnm 或 Volta 的 Node

    Homebrew: brew uninstall node,或帶版本的 formula,例如 node@20。brew uses --installed node 會顯示依賴它的任何東西。

    nvm: nvm ls 列出已安裝的版本,nvm uninstall <version> 移除其中一個,連同替它安裝的全域套件。要移除 nvm 本身,nvm README 說先執行 nvm unload,刪除它的目錄($NVM_DIR,預設是 ~/.nvm),再從 shell 設定檔移除 NVM_DIR 的 export,以及載入 nvm.sh 和 bash_completion 的那幾行。nvm 不支援用 Homebrew 安裝,所以來自 Homebrew 的 nvm 應該用 brew uninstall nvm 移除。

    fnm: 用 fnm list 和 fnm uninstall <version> 管理版本。fnm README 說移除 fnm 就是刪除它的檔案夾,並從 shell 設定中移除對 fnm 的引用,例如 eval "$(fnm env ...)" 這一行。它在 macOS 上的預設資料檔案夾是 ~/Library/Application Support/fnm,較舊的安裝則用 ~/.fnm。用 Homebrew 安裝的 fnm 還需要執行 brew uninstall fnm。

    Volta: 依 Volta 文件,移除 ~/.volta 目錄,以及 shell 設定檔裡提到 Volta 的那兩行。

    清理 shell 啟動檔裡的 PATH 設定

    安裝程式和版本管理工具會在這些檔案裡加上幾行,軟體移除後,這些行還是會留著:

    grep -n -E 'python|Python.framework|pyenv|conda|nvm|fnm|volta|node' ~/.zshrc ~/.zprofile ~/.bash_profile ~/.bashrc ~/.profile 2>/dev/null
    

    輸出會列出每個符合項目所在的檔案和行號。用文字編輯器打開檔案,刪掉屬於你已移除工具的那幾行:指向 Python.framework 的 export PATH=...、pyenv init 那幾行、conda init --reverse 無法執行時留下的 >>> conda initialize >>> 區塊、nvm 和 fnm 的設定行,以及 Volta 的兩行。認不出來的行先留著,等弄清楚它的作用再說。之後打開一個新的終端機視窗;已經開著的視窗會沿用舊的 PATH,hash -r 則能清掉目前視窗裡 zsh 記住的指令位置。

    留下的快取和資料

    解除安裝直譯器並不會清掉它的套件快取:

    快取 位置 如何清除
    pip macOS 預設為 ~/Library/Caches/pip;pip cache dir 會顯示實際使用的位置 在移除最後一個 pip 之前執行 pip cache purge,或刪除該檔案夾
    npm ~/.npm,套件在 ~/.npm/_cacache npm cache clean --force,或在 Node 移除後刪除該檔案夾
    conda 套件 安裝檔案夾裡的 pkgs,或 ~/.conda/pkgs 隨安裝檔案夾一起移除;~/.conda 可選擇是否刪除

    pip 的快取文件列出了 macOS 的預設位置和 pip cache purge。npm 的快取文件提到,還在使用 npm 時通常不需要清除快取,因為它會自我修復;等 Node 移除之後,那個檔案夾就只是一堆資料。

    專案的虛擬環境是另一回事。用已移除的 Python 建立的 .venv,指向的直譯器已經不存在,就會無法使用。刪掉它,再依專案的 requirements.txt 或 lockfile,用你保留的 Python 重新建立。針對舊版 Node 編譯過原生模組的 node_modules 也是一樣。

    Mole 能做什麼

    Mole 不會解除安裝直譯器或版本管理工具,這部分請用上面的指令。之後清快取時,它的清理分頁就派得上用場。pip 在 macOS 上的預設檔案夾 ~/Library/Caches/pip 會在 App 快取與記錄底下單獨列成一列,~/.cache/pip(某些設定使用的 XDG 位置)則在開發工具底下列為一列 pip 快取;兩者都預設勾選,因為 pip 會重新下載它需要的東西。開發工具也會列出 npm 的 _cacache 和 _npx 檔案夾,這兩列預設不勾選,因為下一次安裝還會再下載它們;另外還有一個預設勾選的 npm 快取中不再使用的資料群組,對應 npm 自己的索引已經不再參照的快取檔案,以及 npm 記錄檔,和預設不勾選的 Conda ~/.conda/pkgs 一列。未勾選的列會一直保持未勾選,直到你自己選取,而且在你確認之前不會移除任何東西。npm 的規則見npm 快取越用越大,Mole 這次只清沒有索引參照的資料,其他工具鏈見清除開發者快取而不破壞建置。

    驗證

    打開新的終端機視窗並執行:

    which -a python3 node
    python3 --version
    node --version
    

    你移除的那一份不應該再出現。如果只剩下 /usr/bin/python3 這一份 Python,那是系統內建的,屬於預期結果。如果你本來就打算移除所有 Node,node 顯示「command not found」就是正確的答案。如果舊版本還是會執行,代表它的 PATH 設定還留在某個 shell 檔案裡,或另一個安裝程式在別處放了第二份;回到第一步重新檢查。

    常見問題

    如何在 Mac 上解除安裝 Python?

    執行 which -a python3 看看你有哪一份,然後依當初的安裝方式移除:Homebrew 用 brew uninstall python@3.x,pyenv 用 pyenv uninstall,python.org 則移除「應用程式」裡的檔案夾、framework 版本和 /usr/local/bin 的連結。不要刪除屬於 macOS 的 /usr/bin/python3。

    如何在 Mac 上解除安裝 Node.js?

    Homebrew 用 brew uninstall node,nvm 用 nvm uninstall <version>;nodejs.org 安裝程式則移除 /usr/local/bin/node、npm、npx 和 /usr/local/lib/node_modules 底下的 npm 檔案夾,再清除 org.nodejs.node.pkg 和 org.nodejs.npm.pkg 的安裝收據。

    如何在 Mac 上完全解除安裝 Anaconda?

    執行 conda activate 和 conda init --reverse --all,刪除 conda info --base 回報的安裝檔案夾,例如 ~/anaconda3 或 /opt/anaconda3,再視需要移除 ~/.condarc、~/.conda 和 ~/.continuum。

    可以刪除 macOS 內建的 Python 嗎?

    不行。Python 文件說 /usr/bin/python3 由 Apple 控制,Apple 和第三方軟體都會用到它,絕對不該修改或刪除。在它旁邊另外安裝一份 Python,再透過 PATH 決定執行哪一份。

    為什麼解除安裝 Python 之後,python3 還是能執行?

    要不是 PATH 上還有另一份,通常是 macOS 的 /usr/bin/python3,就是你的終端機還在用舊的 PATH。打開新視窗,執行 which -a python3,再從 ~/.zshrc 或 ~/.zprofile 移除殘留的 PATH 設定行。

    開發工具越用越占空間,可以用 Mole 清理快取、尋找大型檔案。

    下載試用 Mole

    繼續閱讀

    • 開發者清除開發者快取而不破壞建置3 分鐘閱讀
    • 開發者npm 快取越用越大,Mole 這次只清沒有索引參照的資料4 分鐘閱讀
    • 開發者Mac 上 IntelliJ、WebStorm、PyCharm 這些 JetBrains IDE 的快取4 分鐘閱讀

    Mole · 鼴

    清理 Mac,管理 App,查看運作狀態

    v1.17.0 (332) · 發佈紀錄

    產品

    Mac 清理 App 解除安裝 Mac 最佳化 磁碟分析 系統監控

    支援

    說明 功能文件 發佈紀錄 部落格

    法律

    服務條款 隱私權政策 退款政策

    資源

    Windows 版 命令列工具 推廣聯盟

    聯絡

    Twitter hi@mole.fit

    Mole 唯一官網 mole.fit · 請勿下載來源不明的安裝檔

    命令列版會繼續免費開源。