2457 字
12 分钟
全流程超详细教程从 0 搭建 Fuwari 博客

这篇文章是一份从零开始、不省略任何关键步骤的搭建记录,目标是:

在 Windows 上用 Fuwari 主题 创建一个博客项目,
Git 管理代码 + GitHub 远程仓库
再通过 Cloudflare Pages 自动构建部署,并绑定自定义域名。

中间我也会穿插一些自己真实踩过的坑(npm 和 pnpm 混用、package.json 语法、没有 cd 到项目目录……)


0. 最终效果预览#

搭完之后,你会得到这样一个工作流:

本地写文章 / 改样式:

  • pnpm dev 本地预览
  • git add . && git commit -m "xxx" && git push

远端(Cloudflare Pages 自动完成):

  • 监听到 GitHub 推送后自动触发构建
  • 自动安装依赖(pnpm)
  • 自动构建输出 dist/
  • 自动发布到 Cloudflare Pages(更新到 <project>.pages.dev 与你的自定义域名)

浏览器访问:

  • 打开你的博客域名(例如 https://blog.example.com),看到的就是最新版本

1. 环境准备(Windows 本地)#

这里以 Windows 11 + PowerShell 为例。

1.1 安装 Git#

  1. 打开浏览器访问
    https://git-scm.com/downloads
  2. 下载 Windows 版本的安装包(一般会自动识别)。
  3. 双击安装,一路「Next」即可,遇到选项保持默认:
    • 编辑器选项可以保留默认的 Vim,后面我们自己用 VS Code。
    • PATH 配置选择默认那一项(推荐)。
  4. 安装完成后,按下 Win + S 搜索「PowerShell」,打开一个终端,输入:
Terminal window
git --version

看到类似 git version 2.x.x 就说明安装成功。

终端里 git --version 的输出。


1.2 安装 Node.js#

  1. 打开 https://nodejs.org/
  2. 下载推荐的 LTS 版本(绿色「LTS」按钮)。
  3. 安装过程:
    • 双击安装包,勾选「I accept the terms of the License Agreement」
    • 其它选项保持默认,直到完成。
  4. 安装完同样在 PowerShell 里检查:
Terminal window
node -v
npm -v

如果能同时看到 vXX.X.XX.X.X 两行,即 Node 和 npm 都 OK。

node -v、npm -v 的输出。


1.3 安装 pnpm(全局)#

Fuwari 官方推荐用 pnpm 管理依赖,我们整套方案都用 pnpm。

管理员权限的 PowerShell 中执行:

Terminal window
npm install -g pnpm

安装完成后,验证:

Terminal window
pnpm -v

能看到一个版本号,比如 9.14.4,就说明 pnpm 安装成功。

pnpm -v

npm 和 pnpm 的关系

  • npm 是 Node 自带的包管理器
  • pnpm 是第三方的高性能包管理器(节省磁盘空间)
  • 我们用 npm 的唯一用途是:npm install -g pnpm,之后项目内部只用 pnpm

2. 新建博客项目(克隆 Fuwari + 安装依赖)#

2.1 选择一个存放项目的目录#

我习惯把所有代码放在用户目录下,比如:C:\Users\TX

打开 PowerShell:

Terminal window
cd C:\Users\TX

当前路径为 PS C:\Users\TX> 的终端


2.2 克隆 Fuwari 主题#

Fuwari 的 GitHub 仓库地址为:https://github.com/saicaca/fuwari

C:\Users\TX 下执行:

Terminal window
git clone https://github.com/saicaca/fuwari.git astro-blog-demo

这里我把目标文件夹命名为 astro-blog-demo,你也可以换成 blog 或任意喜欢的名字。

克隆完成后,终端会多出一段 Cloning into 'astro-blog-demo'... 的输出。

git clone 完成后的终端画面


2.3 进入项目目录#

很多新手(包括我自己第一次)都会在这里踩坑: 没有 cd 进入项目目录就直接运行 npm/pnpm 命令,导致各种「找不到 package.json」。

请一定确认:

Terminal window
cd .\astro-blog-demo

此时终端提示应该变成:

PS C:\Users\TX\astro-blog-demo>

你可以用 dir 看看目录里是否有 package.json

Terminal window
dir

package.json

  • 顶部是 PS C:\Users\TX\astro-blog-demo>
  • 下面 dir 输出中能看到 package.json 的那一行。

npm error enoent 如果你在 C:\Users\TX> 直接执行 npm install, npm 会报: Error: ENOENT: no such file or directory, open 'C:\Users\TX\package.json' 这就是没进到项目目录。


2.4 用 pnpm 安装项目依赖#

现在我们已经在项目根目录(有 package.json 的地方),执行:

Terminal window
pnpm install

这是一个关键步骤,会做这些事:

  • 读取 package.json 中的 dependencies / devDependencies
  • 在本地创建 node_modules,下载所有依赖
  • 生成 pnpm-lock.yaml 锁定版本

注意:Fuwari 的 package.json 里有这一行:

"preinstall": "npx only-allow pnpm"

这表示如果你用 npm installyarn,会直接报错并提示「请使用 pnpm」。 我们现在是 pnpm install,所以是正确的方式。

安装过程中可能会看到很多 WARN(弃用包、兼容性提示),只要最后没有红色的 ERROR,就说明成功。

pnpm install 进行中的终端画面


2.5 启动本地开发服务器#

依赖安装完毕后,运行:

Terminal window
pnpm dev

稍等片刻,终端会提示类似:

astro v5.x.x ...
Local http://localhost:4321
Network http://192.168.xx.xx:4321

打开浏览器,访问:

http://localhost:4321

就能看到 Fuwari 的默认首页。

Fuwari local

Fuwari 的默认首页

  1. 终端中 pnpm dev 输出 Local http://localhost:4321 的画面;
  2. 浏览器里显示 Fuwari 首页的截图(地址栏是 http://localhost:4321)。

要停止开发服务器,在终端里按下 Ctrl + C


3. 用 Git 管理自己的博客项目#

3.1 删除原仓库的 .git 目录#

确保当前路径还是项目根目录:

PS C:\Users\TX\astro-blog-demo>

执行:

Terminal window
Remove-Item -Recurse -Force .git

或简写:

Terminal window
rm -r -Force .git

删完可以用 dir -Force 看一下 .git 是否已经不在了。


3.2 初始化新的 Git 仓库#

Terminal window
git init
git add .
git commit -m "初始化 Astro + Fuwari 博客(使用 pnpm)"

git init + git commit 成功后的终端输出


4. 推送到 GitHub:创建远程仓库并绑定#

4.1 在 GitHub 上新建仓库#

  1. 登录 GitHub,点击右上角 +New repository
  2. Repository name 填写:astro-blog-demo(推荐与本地目录同名)
  3. 其它选项保持默认,点击 Create repository

成功后会看到一个页面,上面有类似:

…or push an existing repository from the command line
git remote add origin https://github.com/你的用户名/astro-blog-demo.git
git branch -M main
git push -u origin main

新建仓库成功后的 GitHub 页面


4.2 本地绑定远程并推送代码#

回到 PowerShell(项目目录):

Terminal window
cd C:\Users\TX\astro-blog-demo
git remote add origin https://github.com/你的用户名/astro-blog-demo.git
git branch -M main
git push -u origin main

⚠️ 一定要把 你的用户名 换成你真实的 GitHub 用户名

如果一切正常,终端会显示上传进度,最后类似:

To https://github.com/你的用户名/astro-blog-demo.git
* [new branch] main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.

git push 成功的终端输出

然后回到 GitHub 刷新仓库页面,就能看到所有项目文件。

GitHub 仓库的 Code 页面(文件列表)

远程地址写错 如果远程仓库没创建好,或者 URL 里还残留示例中的 你的用户名git push 会报:remote: Repository not found. 可以用 git remote -v 检查当前绑定的 URL 是否正确。


5. 配置 Cloudflare:Pages + 项目绑定 + 域名#

5.1 选择部署方式:推荐 Git 集成(GitHub → Pages 自动构建)#

Cloudflare Pages 支持直接连接 GitHub 仓库:每次 push 自动构建并发布。

5.2 在 Cloudflare Pages 创建项目并连接仓库#

  1. 进入 Cloudflare 控制台 → Workers & Pages → 创建 Pages 项目
  2. 选择 GitHub,授权并选中你的博客仓库(比如 astro-blog-demo
  3. 构建设置(Astro/Fuwari 常见配置):
    • Build commandpnpm build
    • Build output directorydist
    • (如果有 Node 版本选项,选一个 LTS;pnpm 作为包管理器)

说明:这一步完成后,你会先得到一个默认域名:<PROJECT_NAME>.pages.dev

5.3 绑定自定义域名(让域名指向 Pages)#

到 Pages 项目 → Custom domains → “Set up a domain”,按向导添加你的域名。

  • 如果你用子域名(推荐,如 blog.example.com):
    • 按文档要求,在 DNS 里添加 CNAME 指向你的 xxxx.pages.dev
    • 重要:不要只在 DNS 里手动加 CNAME;要先在 Pages 里把域名“关联/激活”,否则可能解析失败并报错。
  • 如果你用根域名example.com):
    • 需要把域名作为 Cloudflare zone 并把 NS 切到 Cloudflare,然后 Pages 会帮你处理所需记录。

6. 自动部署:Git push → Cloudflare Pages 构建与发布#

你的部署链路会变成:

  1. 你在本地 git pushmain
  2. Cloudflare Pages 自动触发一次部署:
    • 拉取仓库
    • 安装依赖(按 Build command 使用 pnpm)
    • 构建生成 dist/
    • 发布到 pages.dev 和你的自定义域名

7. 查看部署日志与回滚(Pages)#

  • 部署记录:Cloudflare Pages 项目里的 Deployments
  • 构建日志:点进某次部署可看到 install/build 的完整输出
  • 回滚:选择上一次成功部署重新发布(或把代码回退再 push)

8. 写一篇测试文章:验证整条链路#

现在我们做一次完整的「写文章 → push → 自动部署 → 浏览器访问」的闭环测试。

8.1 新建一篇文章#

以 Fuwari 的内容目录结构为准(例如 src/content/posts), 新建一个文件 src/content/posts/hello-fuwari.md

---
title: "Hello Fuwari"
published: 2025-12-08
description: "第一篇测试文章"
tags: ["测试"]
category: "随笔"
draft: false
---
这是我用 Fuwari + pnpm 重建博客后的第一篇测试文章。

VS Code 中编辑这篇 hello-fuwari.md 的画面


8.2 本地预览确认文章正常#

在项目目录中运行:

Terminal window
pnpm dev

然后打开 http://localhost:4321,看首页是否已经出现新文章。确认没问题后,按 Ctrl + C 停掉 dev。


8.3 提交并推送#

Terminal window
git add src/content/posts/hello-fuwari.md
git commit -m "发布第一篇文章:Hello Fuwari"
git push

然后去 Cloudflare Pages 的 Deployments 页面,等待部署完成。

8.4 访问正式域名#

浏览器访问:

  • https://<project>.pages.dev(默认域名)
  • https://blog.XXX.XXX(你绑定的自定义域名)

能看到首页已经更新,并且可以点击进入《Hello Fuwari》这篇文章,就说明博客已顺利部署完成 ✅。

网页

9. 命令速查表(Pages 版)#

Terminal window
# 本地准备
node -v
npm -v
npm install -g pnpm
pnpm -v
# 克隆主题 + 安装依赖 + 本地预览
cd C:\Users\你的用户名
git clone https://github.com/saicaca/fuwari.git astro-blog-demo
cd .\astro-blog-demo
pnpm install
pnpm dev
# 初始化自己的 Git 并推送
rm -r -Force .git
git init
git add .
git commit -m "初始化 Astro + Fuwari 博客(pnpm)"
git remote add origin https://github.com/你的用户名/astro-blog-demo.git
git branch -M main
git push -u origin main
# 写文章 → 发布(触发 Pages 自动部署)
# 编辑 src/content/posts/*.md
git add .
git commit -m "更新文章"
git push

到这里,一个基于 Astro 的 Fuwari 主题 的博客就完整搭建好了。

这篇文章既是我的个人搭建笔记,也希望能成为你在搭建 Fuwari 博客时的一份参考。

全流程超详细教程从 0 搭建 Fuwari 博客
https://blog.azucat.eu/posts/fuwari/
作者
江鸟博客
发布于
2025-12-08
许可协议
CC BY-NC-SA 4.0
评论
评论加载中…