"如何在 Mac 上編輯 hosts 檔案與管理環境"
對網頁開發者、軟體工程師和網路管理員來說,管理主機對應是日常需求。無論把網域指向本機 Docker 容器,還是測試預備環境伺服器,都需要快速覆寫 DNS 解析。
本指南介紹如何用終端機手動編輯 Mac 的 hosts 檔案,解釋手動管理的繁瑣與風險,並介紹簡化工作流程的 macOS hosts 檔案管理器。

第一部分:手動編輯 Mac 的 hosts 檔案
macOS 的 hosts 是位於 /etc/hosts 的純文字檔案(該路徑透過符號連結指向 /private/etc/hosts)。它受系統權限保護,需要管理員(sudo)權限才能編輯。
第一步:開啟終端機
按 Cmd + Space 開啟 Spotlight,輸入 Terminal 並按 Return。
第二步:用 Nano 開啟 hosts 檔案
輸入以下指令並按 Return,用命令列文字編輯器 Nano 開啟檔案:
sudo nano /etc/hosts
系統會要求輸入 Mac 管理員密碼。基於安全考量,輸入密碼時終端機不會顯示字元或星號,直接輸入後按 Return 即可。
第三步:新增自訂對應
用方向鍵移到檔案底部。不要修改或刪除預設設定,例如 127.0.0.1 localhost。
在末尾按以下格式新增 IP 與網域對應:
127.0.0.1 my-local-site.test
192.168.1.50 staging.mysite.com
第四步:儲存並離開 Nano
- 儲存:按
Ctrl + O,再按Enter確認。 - 離開:按
Ctrl + X。
第五步:清除 Mac DNS 快取
修改 hosts 後,Mac 可能仍使用舊快取。要讓新對應生效,需要清除 Mac 的 DNS 快取。在終端機執行:
sudo killall -HUP mDNSResponder
系統會重新載入 hosts 設定,自訂網域對應即可生效。
第二部分:手動管理的常見問題
終端機方法可用,但每天反覆操作會帶來負擔:
- **權限疲勞:**每次切換對應都輸入
sudo和密碼很繁瑣。 - **沒有設定方案:**多個專案需要不斷新增或移除
#註解,使/etc/hosts變得雜亂。 - **忘記清除 DNS 快取:**容易忘記執行
mDNSResponder指令,然後困惑於網站為何無法載入。 - **語法錯誤:**少一個空格或定位字元等拼寫錯誤,可能破壞關鍵解析對應並引發網路問題。
第三部分:尋找 Gas Mask 的 Mac 替代品?認識 Helm
多年來,Gas Mask 是 macOS 進階使用者常用的開源 hosts 管理器。但長期缺乏維護,可能在現代 Apple Silicon(M1/M2/M3)Mac 上出現介面異常、穩定性問題和安全警告。
SwitchHosts 等現代替代品基於 Electron,管理一個文字檔案也可能占用數百 MB 記憶體。
因此,我們建構了 Helm:原生 macOS hosts 檔案管理器與 Mac hosts 編輯器。
第四部分:為什麼選擇 Helm?
Helm 從一開始就專為 macOS 設計,常駐選單列,讓環境切換只需點擊一次。
🚀 Helm 主要功能
- **環境設定:**為不同專案建立專用方案,例如「Docker 本機」「預備環境」「客戶 A 正式環境」,一鍵啟用或關閉。
- **智慧合併:**不會直接覆寫關鍵系統 hosts 設定,而是將啟用的方案與 Mac 預設設定清楚合併。關閉方案後,hosts 自動還原原始狀態。
- **自動清除 DNS 快取:**無需再輸入
killall -HUP mDNSResponder,切換或編輯方案後立即清除快取。 - **完全原生,針對 Apple Silicon 最佳化:**資源占用極低、執行快速,介面與 macOS Sonoma、Sequoia 協調一致。
- **隱私優先:**與 ARayOfSunshine 工具的本機處理理念一致,自訂網域配置、IP 位址和專案設定保留在 Mac 上。
簡化工作流程
不必再反覆在終端機編輯系統設定並承擔語法錯誤風險,快速、安全地切換開發環境、預備站台和本機伺服器。
準備好體驗 Mac hosts 管理器了嗎? 探索並下載 macOS 版 Helm。