因为最近在我的闲鱼平台帮助别人远程安装hexo博客框架,弄了几次下来觉得还是自己吧这个过程写下来比较好。
先声明,下文中nodejs的安装路径为D:\Nodejs,所有博客文件放在D:\Blog,github的用户名是MYNAME123,注册邮箱是you@example.com。请根据自身情况更改。

nodejs和git的安装

nodejs下载网址:https://nodejs.org/zh-cn/download/
git下载网址:https://git-scm.com/downloads
根据自己的需求选择对应版本就好了,安装过程就是无限下一步。但是一定要注意好nodejs的安装路径,比如D:\Nodejs
使用下列命令检查nodejs是否安装成功,返回版本号则为成功。(新版本nodejs安装的同时会相应安装npm,所以可以同时检查)

1
2
3
4
5
6
//在命令行中输入
node -v
npm -v

//在git bash中,桌面右击/显示更多选项(win11)/Git Bash Here
git --version

贴士:如果打开github非常缓慢,你可以通过域名解析的方法来进行解决。一般情况只需在浏览器中输入过一次github的IP地址,之后访问都会很快。

  1. 进入站长工具网站的域名解析网址
  2. 在A类型的查询中输入github.com,找出最快的IP地址并在浏览器输入访问;
  3. 显示该地址不安全可以点击高级选项,选择仍然访问;

nodejs环境变量的配置

这一步我看到有很多攻略,但是谬误难断。建议根据我下面来:
假设你的安装路径为D:\Nodejs,那在这个路径下新建两个文件夹,分别命名为node_globalnode_cache,之后在命令行内输入:

1
2
npm config set prefix "D:\Nodejs\node_global"
npm config set cache "D:\Nodejs\node_cache"

打开:开始/设置(或者win+I)/高级系统设置(可以在搜索框中搜索)/环境变量
在上面的用户变量中,打开Path,新建并输入D:\Nodejs\node_global
在下面的系统变量中,新建变量名为NODE_PATH,变量值为D:\Nodejs\node_global\node_modules
Nodejs环境变量的配置除了安装一个组件之外,没有很好的检查方法。这里我已经帮多个人弄了很多次了,琢磨出来目前这个应当是没有问题的。

安装hexo

你需要首先找到并删除C:\Users\.npmrc文件,否则下面安装时会按如下内容报错,请注意。

npm ERR! code EPERM
npm ERR! syscall mkdir
npm ERR! path D:/XXXXXXXXXXXXX

执行下面的命令:

1
2
3
4
//正式安装hexo组件
npm install hexo-cli -g
//检查是否安装成功则输入,返回各个组件的版本号则为安装成功
hexo -v

如果报错:'hexo' 不是内部或外部命令,也不是可运行的程序,说明环境变量配置错误,建议回看上文“nodejs环境变量的配置”。

建立仓库并生成SSH KEYS

在github中注册账号,并选择建立新仓库repository
假设你的用户名为MYNAME123,那么将仓库命名为MYNAME123.GitHub.io,建议添加readme.md文件

确认好你的blog文件存放的位置,例如D:\Blog,那么在此处右击选择“git bash here”
建议以后任何涉及到博客的内容,都从这个位置开始“git bash here”。

下面输入的邮箱为注册github的邮箱,一共回车4次

1
2
ssh
ssh-keygen -t rsa -C "you@example.com"

打开github个人主页,点击头像,Settings/SSH and GPG keys/New SSH key。title任意,key中输入id_rsa.pub文件内的所有内容,路径为C:\Users\Administrator(或者是你自己的用户名)\.ssh\id_rsa.pub
可以用下面的命令,检查是否绑定好了SSH KEYS,要求输入时输入yes

1
ssh -T git@github.com

本地初始化博客

打开blog文件存放的位置,例如D:\Blog,那么在此处右击选择“git bash here”

1
2
hexo init     //初始化博客,必须保证执行命令的文件夹为空白
hexo g //生成要推送至云端的页面文档

初始化完毕后,找到你的系统配置文件D:\Blog\_config.yml,将文件末尾进行修改,需要将用户名改成你自己的。

1
2
3
4
deploy:
type: git
repository: git@github.com:MYNAME123/MYNAME123.GitHub.io.git
branch: main

请注意,从2020年10月1日以后,github宣布所有仓库都将采用[main]来取代原来的[master]分支。
所以branch中请务必填写main,另外冒号和第一个字母之间存在一个英文半角空格不要忽略。

推送本地文件至github服务器

安装hexo-deployer-g组件(注意下面是hexo-deployer-git而不是hexo-deployer-g,后者会报错code 404),它帮助将文件上传到服务器中。

1
2
3
4
5
// 安装组件
npm install hexo-deployer-git --save
// 设置好github账号信息
git config --global user.name "MYNAME123"
git config --global user.email "you@example.com"

此后请直接输入命令完成推送,如果有报错现象可以参看旧时有关令牌的配置。

读者看到这篇文章之时,hexo-deployer-git组件的最新版本无需令牌即可完成推送。

1
2
3
4
//上传至服务器
hexo d
// 执行成功则显示
INFO Deploy done: git

约2022/12/01之前,需要申请token令牌来完成推送。下面为操作步骤:
打开github个人主页,点击头像,打开Settings/Developer Settings/Personal access tokens/Generate new token,其中title随意,所有选项均勾选,有效时间里选30天或者更多都可以,点击绿色按钮Generate token
生成完毕后,把绿色勾号后面的所有字符给复制上。这一ghp开头的字符串就是你的令牌,请永久保存。

1
2
3
4
// 执行上传服务器的命令
hexo d
// 执行成功则显示
INFO Deploy done: git

此后会出现弹窗,请根据情况选择,但无论如何不要输入你的github密码
如果UI比较高级,可以选择账号密码登录或者令牌登录,那么请选令牌Token并输入,这种情况一般只需第一次推送时需要输入令牌,以后直接自动推送;
如果UI比较低级,窗口中只有空格和描述性文字“请输入你的用户名”,那么输入github用户名,此后再次出现UI相近的窗口要求输入密码password,请输入令牌,而不是密码,这种情况一般以后每次推送本地文件到服务器时都需要输入用户名和令牌;
UI如何与windows系统/nodejs/git和hexo-deployer-git组件的版本相关,请根据情况选择。

此后只需要在浏览器的地址栏输入https://MYNAME123.github.io即可访问博客!

参考链接:

关于nodejs的安装
https://blog.csdn.net/lxw1844912514/article/details/119727823

关于git的安装
https://www.cnblogs.com/xueweisuoyong/p/11914045.html

github账号的注册
https://www.bilibili.com/read/cv5107169/

如果出现安装错误
http://www.qianduanheidong.com/blog/article/316744/db118ba3f128fa3f4ea9/

关于在github中建立仓库并生成密钥,见下方链接的第三节(这个链接的全过程也是可以参考的)
https://blog.csdn.net/qq_46922488/article/details/119348718

关于安装对应的主题,hexo给出了许多官方主题,根据各自的指引操作
https://hexo.io/themes/

本人采用的主题是butterfly,从安装文档1开始顺次阅读修改就可以了
https://butterfly.js.org/

关于将域名和自己的hexo博客绑定
https://blog.csdn.net/weixin_44718865/article/details/114760047