升级Node至v18后,Laravel9+Vite运行npm run dev遇esbuild跨平台错误
解决Laravel 9 + Vite升级Node v18后esbuild平台不匹配错误
You installed esbuild for another platform than the one you're currently using.
This won't work because esbuild is written with native code and needs to
install a platform-specific binary executable.
错误原因
esbuild是基于原生代码编译的工具,其依赖的二进制文件和Node版本、操作系统强绑定。升级Node到v18后,之前安装的esbuild二进制文件和新环境不兼容,就会触发这个错误。
解决步骤
清理旧依赖与缓存
- 删除项目根目录的
node_modules文件夹:# macOS/Linux rm -rf node_modules # Windows rmdir /s /q node_modules - 删除依赖锁定文件(二选一,根据你用的包管理器):
# npm用户 rm package-lock.json # yarn用户 rm yarn.lock - 强制清除npm缓存:
npm cache clean --force
- 删除项目根目录的
重新安装依赖
执行命令重新拉取适配当前Node v18环境的依赖包:npm install额外排查(若上述步骤无效)
- 检查是否存在全局安装的esbuild导致冲突:
如果有全局安装的版本,先卸载:npm list -g esbuild
再重新执行npm uninstall -g esbuildnpm install - 确认终端使用的Node版本确实是v18:
若版本不对,切换到v18(比如用nvm的话执行node -vnvm use 18) - 清除Laravel项目缓存:
php artisan optimize:clear
- 检查是否存在全局安装的esbuild导致冲突:
内容的提问来源于stack exchange,提问作者eskimo
相关产品推荐
相关产品推荐

