webstorm 2025.2 起原生支持 bun,项目含 bun.lockb 或 bun.lock 且 path 可查时自动设为默认包管理器和运行时;手动配置反而干扰识别,windows 调试暂不支持,仅 macos/linux 可用 dap 调试。

WebStorm 2025.2 起已原生支持 Bun,只要系统 PATH 中能查到 bun,且项目含 bun.lockb 或 bun.lock,它就会自动设 Bun 为默认包管理器和运行时——你不需要手动改“JavaScript Runtime”里的选项,改了反而可能干扰自动识别。
为什么 WebStorm 找不到 bun 命令
常见现象是点击运行时报错 Command 'bun' not found,或调试配置里提示 “Bun executable not found”。这不是插件没开,而是环境路径没对齐:
- 终端里能跑
bun --version,但 WebStorm 启动方式(比如从桌面图标、Spotlight、开始菜单)不继承 shell 的 PATH,尤其是 macOS 上用 zsh 配了PATH但 GUI 应用看不到 - Windows 用户装了 Scoop 或 Chocolatey,默认不加进系统 PATH,只加进当前终端的会话 PATH
- WebStorm 2025.2+ 默认尝试从 PATH 自动探测,但如果你在
Languages & Frameworks | JavaScript Runtime页面手动填了错误路径(比如指向了bun.exe但实际是bun),它就不会 fallback 到 PATH
解决办法:清空 Bun 字段(留空),重启 WebStorm;或者直接在终端中用 open -a "WebStorm"(macOS)或 start webstorm(Windows + 正确配置的终端)启动,确保 PATH 透传。
怎么创建一个有效的 Bun 运行/调试配置
右键文件 → Run 或 Debug 是最简方式,但临时配置不能复用、无法加参数。要长期使用,必须建永久配置:
- 按
Ctrl+Alt+S打开设置,确认Bun插件已在Plugins→Installed中启用(默认已启用) - 进入
Run | Edit Configurations→ 点左上角+→ 选Bun -
File字段填入口文件路径,如src/index.ts;别填bun run src/index.ts—— WebStorm 会自动拼命令 - 需要热重载?在
Bun parameters里填--watch;需要 HMR?填--hot(注意:--hot仅对bun run有效,对bun test无效) - 勾选
Stop on entry point可在第一行暂停,适合调试启动逻辑
配置保存后,它会出现在右上角运行小部件中,图标是紫色的 B,不是 Node.js 的橙色图标。
调试 TypeScript 文件为什么断点不生效
这是最常被忽略的兼容性限制:WebStorm 当前(截至 2026 年 4 月)**仅支持在 macOS 和 Linux 上调试 Bun**,Windows 上 Debug 按钮可用,但调试器连接会失败,控制台输出 Cannot connect to Bun DAP server。
如果你在 Windows 上开发:
- 别依赖 IDE 内置调试,改用
console.log或debugger+bun run --inspect+ Chrome DevTools - 或者切到 WSL2,把项目放 Linux 子系统里,再用 WebStorm 连接 WSL2 工作区(需安装 Remote Development 插件)
- 确认
tsconfig.json中"sourceMap": true已开启,否则即使平台支持,也定位不到源码行
另外,Bun 的 DAP 实现目前不支持 await 表达式内联断点,只能在语句开头或函数调用处设断点。
自动识别 bun.lockb 是个好功能,但它只在项目打开时触发一次;如果中途删了 lock 文件又加回来,得手动触发重检测:右键项目根目录 → Reload project,或者关掉项目再重开。











