咨询:运行bun dev时无需停止即可执行bun add的方法
解决Bun dev运行时执行bun add报错EBUSY的问题
错误原因
当bun dev运行时,SolidJS依赖的Vinxi构建工具会锁定node_modules中的相关文件,导致bun add无法完成依赖链接操作,从而抛出Failed to link vinxi: EBUSY错误。
可行解决方案
1. 升级Bun到最新版本
Bun团队已修复多起文件锁相关bug,执行以下命令升级:
bun upgrade
升级后尝试在bun dev运行时执行bun add <package>,多数情况下可解决问题。
2. 使用bun add --no-link命令
若升级后仍有问题,在新终端窗口执行bun add时添加--no-link参数,跳过依赖链接步骤:
bun add <package-name> --no-link
该命令会正常将依赖安装到node_modules,且不会触发被锁定文件的链接操作。Bun dev服务通常会自动检测依赖变化并热加载,无需手动重启。
3. 调整Vinxi监听配置(进阶)
如果前两种方法无效,可修改项目的solid-start.config.ts(或对应配置文件),让Vinxi停止监听node_modules目录,减少文件锁定概率:
import { defineConfig } from "@solidjs/start/config"; export default defineConfig({ server: { watch: { ignored: ["node_modules/**"] } } });
修改后重启一次bun dev,之后执行bun add就不会触发EBUSY错误。
内容的提问来源于stack exchange,提问作者atanasius herkristito
相关产品推荐
相关产品推荐

