Svelte-Kit项目Vite构建问题:npm run dev报错且热更新失效
解决Vite+SvelteKit开发时esbuild依赖扫描错误及热更新失效问题
问题现象
每次执行npm run dev都会抛出esbuild相关错误:
> enhanzer@0.0.1 dev > vite dev Forced re-optimization of dependencies Error: Failed to scan for dependencies from entries: C:\Users\dell\Desktop\all\enhanzer\enhanzer\node_modules\@sveltejs\kit\src\runtime\client\start.js The service is no longer running at C:\Users\dell\Desktop\all\enhanzer\enhanzer\node_modules\esbuild\lib\main.js:1073:25 at sendRequest (C:\Users\dell\Desktop\all\enhanzer\enhanzer\node_modules\esbuild\lib\main.js:693:14) at buildOrContextContinue (C:\Users\dell\Desktop\all\enhanzer\enhanzer\node_modules\esbuild\lib\main.js:1071:5) at C:\Users\dell\Desktop\all\enhanzer\enhanzer\node_modules\esbuild\lib\main.js:983:11 VITE v4.3.9 ready in 1130 ms ➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ➜ press h to show help
项目可正常启动,但浏览器无法自动热更新,必须手动刷新页面。已尝试删除node_modules、执行npm cache clean --force、全局更新Vite和npm,当前Node.js版本为18。
可行解决方案
- 锁定esbuild稳定版本:这个错误多由esbuild版本兼容性导致,在
package.json中添加指定版本的esbuild依赖,比如:
执行"devDependencies": { "esbuild": "^0.17.19" }npm install重新安装依赖。 - 禁用Vite依赖预构建:在
vite.config.js中添加配置跳过预构建,避免esbuild扫描出错:export default { optimizeDeps: { disabled: true } } - 检查项目路径:如果项目路径包含中文、空格或特殊字符,将项目迁移到纯英文无特殊字符的路径下,路径解析异常可能导致esbuild服务崩溃。
- 清理残留进程:关闭所有相关终端、编辑器窗口,彻底终止项目相关进程后,重新执行
npm run dev。 - 降级Vite版本:当前使用的Vite4.3.9可能存在兼容性问题,尝试降级到4.2.x稳定版本:
npm install vite@4.2.0 --save-dev
内容的提问来源于stack exchange,提问作者Programmer
相关产品推荐
相关产品推荐

