字
字节笔记本
2026年6月8日
用 Vercel CLI 部署,你可能一直用的是降级版
API中转
¥120
把 AutoFlow 前端推 Vercel 的时候,遇到了一个经典失误:vercel 命令跑完,拿到 URL,以为上线了。结果那是个预览环境,生产域名还指着上一个版本。折腾了十分钟才发现。
Vercel CLI 有个容易踩的默认行为:不带 flag 直接跑 vercel,永远是 Preview 部署。
bash
vercel # Preview 部署,URL 形如 https://xxx-xxxxxxxx.vercel.app
vercel --prod # Production 部署,绑定自定义域名不是 bug,是设计。Vercel 鼓励先确认 Preview 没问题再推生产。但第一次用的人很容易绕过这层直接当上线用了。
三阶段拆分
直接 vercel --prod 这一条命令,背后 Vercel 做了三件事:拉取配置、远端构建、部署产物。全在云端黑盒里跑。构建失败?去 Dashboard 看日志,等着。
CLI 支持把这三步完全拆开:
bash
# 同步远端项目配置和环境变量到本地
vercel pull --environment=production
# 在本地用生产环境变量跑构建,产物落在 .vercel/output/
vercel build --prod
# 只上传产物,Vercel 端不重新构建
vercel deploy --prebuilt --prod构建报错当场可见,不用等云端 CI。构建环境是本地机器,Node 版本、依赖全部可控。遇到神秘的云端构建失败,切到本地三阶段,基本上五分钟之内能定位问题。
环境变量管理
bash
vercel env ls # 列出当前项目所有环境变量
vercel env add DATABASE_URL production # 交互式添加变量
vercel env pull .env.local # 把当前环境变量拉到本地vercel env pull 用得比较频繁:新拉代码或者换机器,不用手动对 .env.local,直接从远端拉最新的。需要 Vercel 账号登录授权,运行后本地就有一份和 Dashboard 配置同步的环境变量文件。
--skip-domain:部署和切流分开
想先部署新版本,观察一段再切流量:
bash
vercel deploy --prebuilt --prod --skip-domain这次 Production 部署不会自动绑定自定义域名,生产流量还在旧版本上。确认没问题,手动切:
bash
vercel promote <deployment-url>独立开发者的轻量蓝绿部署,不需要额外配置。
常用命令速查
bash
# 部署
vercel # Preview
vercel --prod # Production
vercel deploy --prebuilt --prod # 上传本地构建产物
# 环境变量
vercel env pull .env.local # 同步到本地
vercel env add KEY production # 添加变量
vercel env ls # 列出所有变量
# 部署管理
vercel ls # 列出最近部署
vercel inspect <url> # 查看部署详情
vercel promote <url> # 手动切换生产域名
vercel rollback # 回滚到上一个生产版本vercel rollback 容易被忽视:不需要重新部署,直接把生产域名切回上一个版本,秒级完成。推了有问题的版本,这是最快的救场方式。
分享: