最近在 Mac 上使用 Cursor 时遇到了各种登录“拦路虎”:

  1. 网页登录无反应:在浏览器点击 “Log In” 后,没有任何弹窗,无法拉起本地 Cursor 应用。
  2. 网络连接报错:查看日志发现 net::ERR_PROXY_CONNECTION_FAILED 错误。
  3. 区域限制:使用 Shadowsocks 代理时,虽然能上网,但 Cursor 提示所在区域不可用。

经过一番排查,这些问题通常是由缓存损坏、协议关联失效、代理端口冲突以及分流规则导致的。以下是完整的排查和修复方案。


一、 基础疗法:清理缓存与修复协议关联

如果你的症状是“点击网页登录按钮毫无反应”,通常是因为 macOS 的 LaunchServices 数据库乱了,或者 Cursor 的本地缓存文件损坏。

1. 一键清理脚本

在终端(Terminal)中运行以下命令,清理 Cursor 的缓存数据(不会删除你的代码或插件配置):

  1. # 1. 强制退出 Cursor
  2. pkill -f Cursor
  3. # 2. 清理缓存目录
  4. rm -rf ~/Library/Caches/com.todesktop.*
  5. rm -rf ~/Library/Saved\ Application\ State/com.todesktop.*
  6. # 3. 清理应用内部状态
  7. rm -rf ~/Library/Application\ Support/Cursor/Cache
  8. rm -rf ~/Library/Application\ Support/Cursor/CachedData
  9. rm -rf ~/Library/Application\ Support/Cursor/Code\ Cache
  10. rm -rf ~/Library/Application\ Support/Cursor/GPUCache
  11. rm -rf ~/Library/Application\ Support/Cursor/Service\ Worker
  12. rm -rf ~/Library/Application\ Support/Cursor/Session\ Storage
  13. echo "✅ Cursor 缓存清理完毕"

2. 重新注册 URL 协议

如果清理缓存后还是拉不起 App,说明 macOS 不知道 cursor:// 协议该由谁打开。运行此命令修复:

  1. /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Cursor.app

运行后,重启 Cursor 再尝试登录。


二、 进阶疗法:解决代理端口冲突

如果你的日志中(~/Library/Application Support/Cursor/logs)出现 net::ERR_PROXY_CONNECTION_FAILED,说明系统设置了代理,但没有程序在监听该端口。

常见场景

  • 曾使用 Clash Verge (端口 7897),后来切换到了 Shadowsocks (端口 1080) 或退出了软件。
  • macOS 的“网络设置”里残留了 HTTP/HTTPS 代理配置指向 127.0.0.1:7897

解决方法

方案 A:如果你想用 Clash Verge

  1. 打开 Clash Verge 设置,确保 混合端口 (Mixed Port) 设置为 7897
  2. 关掉再打开“系统代理”开关,让它重新接管系统设置。

方案 B:如果你想用 Shadowsocks 或直连
需要手动清除系统中残留的 Clash 代理设置:

  1. # 关闭 Wi-Fi 的 HTTP/HTTPS 代理残留
  2. networksetup -setwebproxystate "Wi-Fi" Off
  3. networksetup -setsecurewebproxystate "Wi-Fi" Off

执行后,重启 Cursor 即可。


三、 终极疗法:解决区域限制 (Shadowsocks 用户必看)

Cursor 的服务在某些国家/地区(如中国)可能被服务端限制访问(Geo-blocking)。
如果你使用 Shadowsocks 的 PAC 模式(自动分流),因为 cursor.sh 等域名没有被墙,流量会直连,导致 Cursor 识别出你的真实 IP 而拒绝服务。

解决方案

方法 1:开启全局模式(临时救急)

  • 点击 Shadowsocks 菜单栏图标 -> 模式 (Mode) -> 选择 全局模式 (Global Mode)
  • 登录成功后,可切回自动模式。

方法 2:添加用户规则(长期推荐)
如果你不想开全局(影响国内网速),可以强制让 Cursor 的域名走代理:

  1. 打开 Shadowsocks 的 偏好设置 -> PAC -> 编辑用户规则 (User Rule)
  2. 添加以下域名:
    1. ||cursor.sh
    2. ||cursor.com
    3. ||todesktop.com
    4. ||auth0.com
  3. 保存并执行 从 GFWList 更新 PAC

总结

  1. 拉不起 App ➡️ 清缓存 + lsregister
  2. 连接失败 ➡️ 检查端口冲突 (lsof -i :7897),统一代理端口。
  3. 区域不支持 ➡️ Shadowsocks 开全局模式,或将 cursor.sh 加入 PAC 列表。

希望这篇避坑指南能帮你省下几个小时的排查时间!

分类: web

标签: