技术心得Tue May 20 2025 00:00:00 GMT+0000 (Coordinated Universal Time)10 分钟阅读

当 GitHub 被封、ZIP 要钱:我是如何用 Vercel CLI 在国内成功部署博客的

记录一条完全不同的部署之路,以及为什么这条路的发现本身就是一种创新。

Z
ZhangKing
作者
当 GitHub 被封、ZIP 要钱:我是如何用 Vercel CLI 在国内成功部署博客的

当 GitHub 被封、ZIP 要钱:我是如何用 Vercel CLI 在国内成功部署博客的

前言

我在部署个人博客的过程中,走了太多弯路。

GitHub 被封,ZIP 上传要付费,Vercel 的界面上找不到上传入口...

直到我发现了 Vercel CLI,才发现原来部署可以这么简单。

这篇文章,记录我走过的所有弯路,以及最终找到的解决方案。


一、第一个尝试:GitHub

最开始,我想用最标准的方式:GitHub + Vercel 自动部署。

步骤很简单:

  1. 在 GitHub 创建仓库
  2. 连接 Vercel
  3. 每次 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 的免费额度非常大方。


这篇文章的所有代码和内容都在 GitHubGitee 上开源。

如果你有更好的方法,欢迎交流!

#Vercel#CLI#GitHub#部署#技术突破

分享这篇文章