"如何在 Mac 上编辑 hosts 文件与管理环境"
对网页开发者、软件工程师和网络管理员来说,管理主机映射是日常需求。无论把域名指向本地 Docker 容器,还是测试预发布服务器,都需要快速覆盖 DNS 解析。
本指南介绍如何用终端手动编辑 Mac 的 hosts 文件,解释手动管理的繁琐与风险,并介绍简化工作流程的 macOS hosts 文件管理器。

第一部分:手动编辑 Mac 的 hosts 文件
macOS 的 hosts 是位于 /etc/hosts 的纯文本文件(该路径通过符号链接指向 /private/etc/hosts)。它受系统权限保护,需要管理员(sudo)权限才能编辑。
第一步:打开终端
按 Cmd + Space 打开 Spotlight,输入 Terminal 并回车。
第二步:用 Nano 打开 hosts 文件
输入以下命令并回车,用命令行文本编辑器 Nano 打开文件:
sudo nano /etc/hosts
系统会要求输入 Mac 管理员密码。出于安全原因,输入密码时终端不会显示字符或星号,直接输入后回车即可。
第三步:添加自定义映射
用方向键移到文件底部。不要修改或删除默认配置,例如 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。