改了hosts仍弹授权框,是因为仅屏蔽www.sublimetext.com无法覆盖license.sublimetext.com和update.sublimetext.com等必需校验域名,导致离线签名校验失败;同时license.sublime_license文件残留、密钥含隐藏字符、macos gatekeeper拦截及配置未全关(如show_upgrade_bar等)也会触发弹窗。

为什么改了 hosts 还是弹授权框
因为 Sublime Text 4 启动时会尝试连接 license.sublimetext.com 和 update.sublimetext.com 做离线签名校验,而你在 /etc/hosts 里加的 127.0.0.1 www.sublimetext.com 并不覆盖这两个域名——结果它连不上、校验失败,就判定许可证非法,反复弹“Invalid license”框。
常见错误操作包括:
- 只屏蔽了主站域名,漏掉
license.和update.子域 - hosts 文件里用了全角空格或中文冒号,导致规则失效
- 改完没刷新 DNS 缓存:
sudo dscacheutil -flushcache(macOS)必须执行
License.sublime_license 文件残留才是真凶
Sublime 优先读本地 License.sublime_license,哪怕你输的是正版密钥,只要这个文件存在且内容错乱(比如带零宽空格、换行被邮箱自动折断、破折号变成全角),它就会直接报错,且不提示具体哪错了。
macOS 正确路径是:~/Library/Application Support/Sublime Text 4/Local/License.sublime_license
操作建议:
- 用 Finder 按
Cmd + Shift + G输入路径,直接定位并删掉该文件 - 重启 Sublime,再从官网邮件里复制完整密钥(必须包含
-----BEGIN LICENSE-----到-----END LICENSE-----全部行) - 粘贴前打开
View → Show Console,输入view.settings().set('draw_white_space', 'all')查看隐藏符号
系统级权限没放行,导致启动卡在 Gatekeeper 校验
新版 macOS(Ventura 及以后)对首次运行的应用有更严格的签名验证。如果 Sublime 是从非 App Store 渠道安装,又没完成“右键 → 打开 → 仍要打开”流程,系统会反复拦截并触发授权弹窗链。
关键动作不是点“允许”,而是:
- 先去
系统设置 → 隐私与安全性 → 安全性,点“允许”按钮(需输密码) - 再进
隐私与安全性 → 全盘访问,点击+→Cmd + Shift + G→ 输入/Applications→ 添加Sublime Text.app - 最后执行:
tccutil reset FullDiskAccess com.sublimetext.4(Bundle ID 可用mdls -name kMDItemCFBundleIdentifier /Applications/Sublime\ Text.app确认)
配置关不全,弹窗就复活
只设 "update_check": false 不够——Sublime 的弹窗来自四条独立通路:网络请求、状态栏渲染、菜单项、升级横幅。漏一项,就可能在某次空闲唤醒后突然弹出来。
必须同步修改的五处配置:
- 用户设置(
Preferences → Settings右侧)加:"update_check": false、"show_update_in_status_bar": false、"show_upgrade_bar": false、"show_promotion_bar": false - Package Control 设置(命令面板输
Package Control: Settings – User)加:"auto_upgrade": false、"enable_upgrade_check": false - 键位文件(
Preferences → Key Bindings用户)加隐藏菜单项规则,避免手误点开触发检查
改完必须彻底退出所有实例:killall "Sublime Text",再重启。否则旧进程缓存还在,配置等于白改。











