部署Create-T3应用到Vercel遇500错误:argon2无原生构建文件
解决Create-T3应用Vercel部署500错误(argon2原生构建缺失)
问题根源
argon2是依赖原生编译的加密模块,Vercel构建环境与运行环境的二进制预编译包不匹配,导致运行时找不到对应平台的构建文件。
解决方案
1. 对齐Node.js版本
在Vercel项目的Settings > General > Node.js Version中,设置为20.15.1(与日志中运行时版本一致),消除版本差异导致的预编译包不兼容。
2. 强制在Vercel构建时重新编译argon2
- 在项目根目录创建
.pnpmrc文件,添加以下配置:enable-pre-post-scripts=true node-gyp-build-force=true - 或者修改Vercel构建命令为:
确保构建过程中针对Vercel的Linux x64环境重新编译argon2。pnpm install && pnpm rebuild argon2
3. 禁用构建缓存
在Vercel项目的Settings > Build & Development Settings中,勾选Disable Build Cache,避免复用旧的未适配环境的依赖包,之后重新触发部署。
4. 迁移到create-t3-turbo的注意事项
若计划迁移到create-t3-turbo,需确保:
- 在
turbo.json中配置正确的依赖安装命令,保证native模块在构建阶段完成编译 - 本地、Vercel等所有环境使用相同版本的Node.js
- 检查turbo的缓存规则,避免缓存未编译的依赖包
内容的提问来源于stack exchange,提问作者Gonzalo Morales
相关产品推荐
相关产品推荐

