VSCode运行Nest项目遇EBUSY错误:rmdir dist时资源被占用锁定
VSCode运行Nest.js项目触发EBUSY资源锁定错误的解决办法
问题现象
在VSCode中本地启动Nest.js项目时,频繁抛出以下错误:
EBUSY: resource busy or locked, rmdir 'C:\code\Pessoal\Magic3t-Backend\dist'
环境场景
- 项目基于Nest.js框架开发
- 已安装Vitest测试工具及VSCode的Vitest扩展
- 临时缓解方式:
- 直接通过系统外部控制台启动项目,错误不会出现
- 手动删除
dist文件夹后,再在VSCode中启动项目,错误消失
问题原因
经排查,该问题源于VSCode的Vitest扩展在后台持续占用dist目录下的编译文件,导致Nest.js启动时无法正常执行旧dist目录的清理操作(Nest.js默认启动流程会先删除旧编译产物再重新编译)。
长期解决方法
方法1:禁用Vitest扩展自动检测
打开VSCode设置,搜索Vitest: Auto Detect,将该选项设置为false。仅在需要运行测试时手动启用扩展,避免其后台占用资源。
方法2:修改Nest.js编译输出路径
在项目根目录的nest-cli.json中,调整compilerOptions的outputPath字段:
{ "compilerOptions": { "outputPath": "build" } }
将默认的dist改为build或其他自定义路径,避开Vitest的资源占用范围。
内容的提问来源于stack exchange,提问作者King Witcher
相关产品推荐
相关产品推荐

