当 GitHub 被封、ZIP 要钱:我是如何用 Vercel CLI 在国内成功部署博客的
记录一条完全不同的部署之路,以及为什么这条路的发现本身就是一种创新。
当 GitHub 被封、ZIP 要钱:我是如何用 Vercel CLI 在国内成功部署博客的
前言
我在部署个人博客的过程中,走了太多弯路。
GitHub 被封,ZIP 上传要付费,Vercel 的界面上找不到上传入口...
直到我发现了 Vercel CLI,才发现原来部署可以这么简单。
这篇文章,记录我走过的所有弯路,以及最终找到的解决方案。
一、第一个尝试:GitHub
最开始,我想用最标准的方式:GitHub + Vercel 自动部署。
步骤很简单:
- 在 GitHub 创建仓库
- 连接 Vercel
- 每次 push 代码,网站自动更新
但现实给了我当头一棒。
当我尝试登录 GitHub 推送代码时,收到这样的错误:
Error: Authentication failed
remote: Incorrect username or password (access token)
我反复检查用户名密码,都是对的。
后来才发现:我的 IP 被 GitHub 封了。
作为一个在国内的开发者,这简直是家常便饭。GitHub 经常因为各种原因封 IP,而且解封流程极其复杂。
第一条路,堵死了。
二、第二个尝试:Gitee + Vercel?
既然 GitHub 不行,那就用国内的 Gitee(码云)吧。
Gitee 的好处:
- 访问速度快
- 不需要翻墙
- 完全免费
但问题是:Vercel 不支持直接连接 Gitee。
Vercel 只支持:
- GitHub
- GitLab
- Bitbucket
不支持 Gitee。
那我能不能通过某种方式让 Vercel 读取 Gitee 的代码呢?
试了很多方法,都不行。
第二条路,也堵死了。
三、第三个尝试:ZIP 上传
既然自动部署不行,那就手动上传吧。
Vercel 的网页界面上应该有上传功能...
我找了半天,终于在某个犄角旮旯里找到了"上传"的地方。
我兴奋地把代码打包成 ZIP,上传。
然后...
Vercel 提示我要付费。
原来,免费账户的 ZIP 上传有严格的大小限制,超过就要付费。
我的博客代码虽然不大,但加上 node_modules...超了。
而且即使上传成功,Vercel 还需要"解码"这个过程,也需要付费。
第三条路,又堵死了。
四、第四条尝试:Vercel AI 界面
后来,我发现 Vercel 有一个 AI 聊天界面。
我尝试在聊天窗口里上传文件,然后用自然语言说"请部署这个项目"。
AI 还真帮我做了!
但是...
它把我上传的文件部署到了一个"预览版本",而不是生产版本。
我折腾了半天,也不知道怎么让这个预览版本变成正式版本。
而且每次都要在网页上操作,太麻烦了。
第四条路,也不太行。
五、柳暗花明:Vercel CLI
就在我几乎要放弃的时候,我想起了还有一个东西没试:
Vercel CLI(命令行工具)。
CLI 是 Command Line Interface 的缩写,就是通过命令行操作的工具。
我尝试着安装:
npm install -g vercel
安装完成后,我试着登录:
vercel login
Vercel 显示了一个验证码,我去了 vercel.com/device 输入。
登录成功了!
然后我尝试部署:
vercel deploy --yes --prod
短短几秒钟后...
网站上线了!
就这么简单!
六、为什么 Vercel CLI 这么好?
经过这段时间的使用,我发现 Vercel CLI 有几个巨大的优势:
1. 不需要 Git
传统的部署方式都需要连接 Git 仓库,但 CLI 不需要。
你只需要有代码,CLI 会帮你打包、上传、构建、发布。
2. 不需要翻墙
CLI 的操作都是通过 Vercel 的服务器完成的,国内可以直接访问。
3. 完全免费
CLI 的所有功能都是免费的,没有任何限制。
4. 简单直接
只需要记住两个命令:
vercel login- 登录vercel deploy --yes --prod- 部署到生产环境
5. 自动构建
CLI 会自动执行 npm run build,不需要你手动构建。
七、完整的部署流程
现在,我的部署流程是这样的:
第一步:写文章
在 content/articles/ 目录下创建 Markdown 文件。
第二步:本地测试
cd lookword-troupe
export PATH=~/nodejs/bin:$PATH
npm run dev
打开浏览器访问 http://localhost:3000 查看效果。
第三步:部署到线上
vercel deploy --yes --prod
等待 30 秒到 1 分钟,网站就更新了!
第四步:备份到 Gitee
git add .
git commit -m "更新内容"
git push gitee main
这样即使本地出问题,也能从 Gitee 恢复。
八、这条路的意义
我发现,虽然 GitHub 被封、ZIP 要钱、Vercel 界面难找...
但只要换一个思路,就能找到出路。
Vercel CLI 并不是什么新东西,但为什么很多人(包括我)一开始没想到呢?
因为我们太习惯于"标准答案"了。
标准答案就是:GitHub + Vercel 自动部署。
但当"标准答案"行不通的时候,我们就卡住了。
而实际上,解决问题的办法永远不止一种。
九、技术细节
最后,分享一些技术细节:
Node.js 版本问题
如果你的系统 Node.js 版本太旧(比如 macOS 自带的 16.x),需要安装新版本:
# 下载 Node.js 20.x
curl -O https://nodejs.org/dist/v20.18.0/node-v20.18.0-darwin-x64.tar.gz
# 解压到用户目录
mkdir -p ~/nodejs
tar -xzf node-v20.18.0-darwin-x64.tar.gz -C ~/nodejs --strip-components=1
# 使用时设置 PATH
export PATH=~/nodejs/bin:$PATH
常用命令
# 登录
vercel login
# 开发预览
vercel
# 生产部署
vercel deploy --yes --prod
# 查看项目
vercel ls
# 查看日志
vercel logs 项目名
十、给后来者的话
如果你也在国内,被各种网络问题困扰...
不要放弃,也不要盲从"标准答案"。
换个思路,也许就有出路。
Vercel CLI 不是什么高深的技术,但它确实解决了我面临的问题。
希望我的经历能给你一些启发。
当你觉得所有路都堵死的时候,也许只是需要换一个方向。
附录:常见问题
Q:CLI 需要翻墙吗? A:不需要。CLI 直接连接 Vercel 服务器,国内可以直接访问。
Q:CLI 部署的网站和自动部署的一样吗? A:完全一样。都是部署在 Vercel 的全球 CDN 上。
Q:CLI 可以部署其他项目吗? A:可以。Vercel CLI 支持 Next.js、React、Gatsby 等主流框架。
Q:免费额度够用吗? A:个人博客完全够用。Vercel 的免费额度非常大方。
这篇文章的所有代码和内容都在 GitHub 或 Gitee 上开源。
如果你有更好的方法,欢迎交流!