2025.9.10

Overview

今天跟随视频一步步搭建了属于自己的博客,我把整个过程以及所学记录下来

流程

安装hexo

  1. 安装nodejs
  2. 打开终端并切换到root用户(输入了 sudo su)
    • 该过程中打开 设置 -> 系统 -> 开发者选项 -> 开启“启用Sudo” -> 选择运行模式“内联”
    • 之后重启终端 -> 输入sudo whoami -> 显示 laptop-lv27uskg\admin【表示当前以管理员权限执行了命令(laptop-lv27uskg 是我的计算机名,admin 是我的用户名),这说明 sudo 配置生效了。】
  3. 终端输入 node -v 和 npm -v(查看版本)
    • 输入npm -v后显示:
1
2
3
4
5
6
 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ npm -v
+ ~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
- 终端输入:Get-ExecutionPolicy,显示:Restricted
- 终端输入:Set-ExecutionPolicy RemoteSigned
- 再次执行 Get-ExecutionPolicy,确认显示为 RemoteSigned
- 上面的步骤设置允许运行本地创建的脚本,同时对从网络下载的脚本进行安全检查,是比较平衡的安全策略。
  1. 终端输入:npm install -g cnpm –registry=https://registry.npmmirror.com
    • 安装成功,接下来就可以使用 cnpm 命令来替代 npm 进行包管理了
  2. 终端输入:cnpm install -g hexo-cli
    • 安装好hexo了
  3. 在E盘创建blog文件夹,并通过终端cd操作将路径改到创建好的blog文件夹
  4. 终端输入:sudo hexo init, 报错:
1
2
3
4
5
6
7
INFO  Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
'git' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
WARN git clone failed. Copying data instead
FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html
Error: EPERM: operation not permitted, mkdir 'E:\'
at async Object.mkdir (node:internal/fs/promises:860:10)
- 报错原因是缺少 Git 环境
- 通过Git 官网 下载 Windows 版本
  1. 再次输入:sudo hexo init
    • 此时Hexo 已经成功初始化完成,现在博客项目基础框架已经搭建好了
    • 输入:ls (查看当前目录下的文件)

将博客部署到远端的GitHub上公开使用

  1. 创建并登录GitHub账号
  2. 创建一个仓库(repository)
    • 注意:创建仓库时起的名字必须符合格式:名字.github.io
  3. 终端在blog文件路径下输入:cnmp install –save hexo-deployer-git
  4. 终端输入:notepad _config.yml, 打开文件后修改最下面的Deployment部分:
1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: 'git'
repo: https://github.com/Maverick-Yza/Maverick-Yza-github.io.git
branch: master
  1. 终端输入:hexo d (部署到远端)

过程所学

  1. 打开终端输入的左边显示的是你当前操作所在的路径
    1. cd 后跟你想更改的路径
    2. pwd —— 查看当前路径
  2. 每次更新完博客后需要在终端输入:hexo clean、hexo g、hexo d。使其保存并部署到远端