运行NPM开发环境时反复出现EBUSY错误求助
解决Vite开发环境反复出现EBUSY资源占用错误
问题描述
在Visual Studio Code中运行NPM开发环境时反复触发错误,执行npm install后可暂时恢复,但运行一段时间后错误再次出现。已尝试删除node_modules和package-lock.json,未找到彻底解决办法。
错误日志
[vite:dev ] Re-optimizing dependencies because lockfile has changed [vite:dev ] [vite:dev ] VITE v5.1.6 ready in 274 ms [vite:dev ] [vite:dev ] ➜ Local: http://localhost:5173/ [vite:dev ] ➜ press h + enter to show help [vite:dev ] node:events:496 [vite:dev ] throw er; // Unhandled 'error' event [vite:dev ] ^ [vite:dev ] [vite:dev ] Error: EBUSY: resource busy or locked, lstat 'C:\DumpStack.log.tmp' [vite:dev ] Emitted 'error' event on FSWatcher instance at: [vite:dev ] at FSWatcher._handleError (file:///C:/Users/lee/Documents/GitHub/Template-Repository/node_modules/vite/dist/node/chunks/dep-jvB8WLp9.js:45867:10) [vite:dev ] at NodeFsHandler._boundHandleError (file:///C:/Users/lee/Documents/GitHub/Template-Repository/node_modules/vite/dist/node/chunks/dep-jvB8WLp9.js:44340:43) [vite:dev ] at ReaddirpStream.emit (node:events:518:28) [vite:dev ] at emitErrorNT (node:internal/streams/destroy:169:8) [vite:dev ] at emitErrorCloseNT (node:internal/streams/destroy:128:3) [vite:dev ] at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { [vite:dev ] errno: -4082, [vite:dev ] code: 'EBUSY', [vite:dev ] syscall: 'lstat', [vite:dev ] path: 'C:\\DumpStack.log.tmp' [vite:dev ] } [vite:dev ] [vite:dev ] Node.js v20.11.1 ERROR: "vite:dev" exited with 1.
package.json内容
{ "scripts": { "dev": "npm-run-all -p -l -r vite:dev shopify:dev", "build": "npm-run-all -p -l -r vite:build", "shopify:dev": "shopify theme dev --port 9000 --store fa0f41.myshopify.com --live-reload full-page", "shopify:logout": "shopify auth logout", "vite:dev": "vite dev", "vite:build": "vite build", "kill": "Taskkill /IM node.exe /F" }, "type": "module", "devDependencies": { "@shopify/cli": "^3.57.0", "@shopify/theme": "^3.57.0", "autoprefixer": "^10.4.17", "npm-run-all": "^4.1.5", "postcss": "^8.4.35", "tailwindcss": "^3.4.1", "vite": "^5.0.12", "vite-plugin-page-reload": "^0.2.0", "vite-plugin-shopify": "^3.0.1" } }
解决方案
- 排除系统临时文件监听:Vite的文件监听器误触发了Windows系统生成的
C:\DumpStack.log.tmp临时文件。在vite.config.js中添加忽略规则:export default defineConfig({ server: { watch: { ignored: ['C:/DumpStack.log.tmp'] } } }) - 彻底清理进程残留:执行
Taskkill /IM node.exe /F终止所有Node进程,再重新启动开发环境,避免进程占用资源。 - 锁定依赖版本:当前package.json中Vite版本为
^5.0.12,实际运行的是v5.1.6,版本自动升级可能引发兼容性问题。将Vite版本改为5.0.12(移除^),重新执行npm install。 - 限制文件监听范围:在
vite.config.js中设置server.watch.followSymlinks: false,防止监听器跟随符号链接遍历到项目外的系统目录,减少不必要的文件监听。
内容的提问来源于stack exchange,提问作者Lee Barone
相关产品推荐
相关产品推荐

