webstorm 的 svn 认证缓存实际由底层 svn 客户端管理,存储于 macos/linux 的 ~/.subversion/auth/ 或 windows 的 %appdata%\subversion\auth\ 目录,webstorm 本身不保存也不提供清除界面,仅复用该缓存。

WebStorm 的 SVN 认证缓存存在哪?
WebStorm 本身不管理 SVN 认证凭据,它完全复用系统级 SVN 客户端的认证缓存机制。也就是说,你看到的“记住密码”行为,实际由 svn 命令行工具在 ~/.subversion/auth/(macOS/Linux)或 %APPDATA%\Subversion\auth\(Windows)下存储,WebStorm 只是调用它、读取它、也受它限制。
为什么 WebStorm 总是反复弹窗要输用户名密码?
常见原因不是 WebStorm 设置问题,而是底层 svn 的认证存储被禁用或损坏:
-
svn配置里禁用了 auth store:检查~/.subversion/config(macOS/Linux)或%APPDATA%\Subversion\config(Windows),确认store-auth-creds = yes在[auth]段中已启用(默认是 yes,但可能被手动改掉) - 权限问题:WebStorm 以不同用户身份运行(比如通过 sudo 启动、或 Windows 上以管理员身份运行),导致它访问的是另一个用户的
auth/目录 - TortoiseSVN 干预:若同时安装了 TortoiseSVN 且勾选了 “Use TortoiseSVN’s authentication data”,它会接管认证并可能与命令行
svn缓存不一致 —— 此时建议统一用命令行缓存,取消该选项 - SVN 服务端返回了非标准 realm 或 URL 变化(如 http → https、域名大小写变动、路径末尾多斜杠),
svn会视为全新仓库,不复用已有凭据
如何强制刷新或清除 SVN 认证缓存?
直接操作 svn 的 auth 目录最可靠,WebStorm 重启后自动生效:
- macOS/Linux:
rm -rf ~/.subversion/auth/
(之后首次svn操作会重新提示输入) - Windows:
rd /s /q "%APPDATA%\Subversion\auth"
(CMD 中执行,注意引号) - 不想全清?可进对应目录,按子目录名识别 realm,只删特定仓库的缓存(每个子目录名是 realm 的哈希,内容含加密凭据)
- 验证是否生效:终端中运行
svn info <your-repo-url></your-repo-url>,若不再弹窗且返回信息,说明缓存已重建
WebStorm 设置里有“Clear authentication cache”吗?
没有。WebStorm 的 Version Control → Subversion 设置页里没有任何按钮或选项能清除认证缓存 —— 它压根不持有这些凭据。所谓“Test”按钮只验证 svn 可执行性,不触碰 auth 数据;所谓“Update project”等操作失败时提示的 “Authentication failed”,本质就是 svn 返回了认证错误,WebStorm 只是把 stderr 原样抛出来。
最容易被忽略的一点:即使你改了 WebStorm 的 SVN 路径、重装了客户端、甚至换了机器,只要旧的 ~/.subversion/auth/ 目录被迁移过去,它就仍会尝试用旧凭据登录 —— 而服务端可能早已停用该账号,结果就是静默失败,而非弹窗提醒。这时候得手动清理,而不是反复点 Test。











