写在最前

本文主要是收录一些平日搭建框架所遇到的一些问题与解决方式。当然,最重要的还是给自己留个日记,这样框架玩崩了照样也能找到回家的路。

搭建

  • 搭建其实并不难,但是你得要有失败后重头再来的勇气。当成功运行后提示报错这种大起大落的事情,经历多了你就看淡了,不过是从头再来嘛..

  • 机器永远不会说谎,你只需要根据报错来寻找问题的关键,然后避免再犯这样的错误。有些东西得在坑里跌过一次,这样爬起来在才能长记性;跌的越惨,记得越深,失败是最好的老师。

关于搭建

搭建的文档、教程实在是太多太多,根据合适你的来参考搭建就行,这里给出一些参考文档:

B站视频 这个是最详细的

参照文档搭建即可,基本不会报错。在这之前,你应该先分清 hexo 根目录下的配置文件_config 和主题目录下的_config,你的自定义修改不生效的原因十有八九皆出于此。下面简述搭建遇到的坑。

关于部署

如何写部署配置

根目录下的_config.yml

deploy:
type: git
repo: https://github.com/xxx/xxx.github.io.git
branch: master

github+coding双部署:
deploy:
type: git
repo:
github: git@github.com:xxx/xxx.github.io.git
coding: git@git.dev.tencent.com:xxx/xxx.coding.me.git
branch: master

添加 SSH keys

每次重新搭建就这个最麻烦,其实熟练后也挺简单。
打开 Git Bash,依次输入以下指令:

git config --global user.name "Your Username" (输入你的Github用户名)

git config --global user.email "Your Email Address" (输入你的Github邮箱地址)

cd ~/.ssh

ssh-keygen -t rsa -C "Your Email Address" (此处直接回车即可)

出现以下提示输入密码
Enter passphrase (empty for no passphrase):【输入加密串】【加密串我们看不见,所以你输密码的时候不要以为没输入进去,你直接输入就好,输完密码按回车键确定就行】
Enter same passphrase again: Passphrases do not match. Try again.【再次输入加密串】如果密码输入不一致,会提示再次输入】

添加 SSH keys 到 GitHub

打开 GitHub, 点击右上角的头像 - Settings-SSH and GPG keys -New SSH key
打开电脑路径 C/Users/Administrator/.ssh, 找到 id_rsa.pub 文件(默认可能用 Microsoft Publisher 打不开),右击用记事本打开该文件,全选复制添加到 New SSH keys 中,如图:
涉及隐私就不展示SSH

可以输入以下指令检查

ssh -T git@github.com 

出现以下提示表明你的 SSH keys 生成成功
Enter passphrase for key ‘/c/Users/Administrator/.ssh/id_rsa’:
Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.

部署失误

首次部署 hexo deploy 的时候会弹出一个登录窗口,就像下面这样。万一不小心输错了怎么办呢,它还真就不会再弹出来。
不要问我为什么这知道这个,当然是为了示范故意的,别问,问就是反面教材

常见的报错

路径报错

Usage: hexo <command>
这个错误的主要原因有:

  • 1.路径错误,当前所在路径无 hexo,因此指令无效,检查路径即可解决

  • 2.指令输入有误,检查指令或符号是否正确。参考 Hexo Commands

  • 3.指令缩写冲突,例如 hexo c 有多种含义:hexo clean 和 hexo config,当你安装了豆瓣的插件之后,最常用的 hexo d 也会产生冲突。因此指令尽量不用缩写,常用指令全称如下:

    缩写指令:
    hexo clean && hexo g && hexo d
    全称指令:
    hexo clean&&hexo generate&&hexo deploy

Please make sure you have the correct access rights and the repository exists.

无法读取到远程仓库,请确保您具有正确的访问权限,并且存储库存在。
fatal: Could not read from remote repository

  • 1.检查根目录的_config.ymlgit 地址配置是否正确

  • 2.重新生成并添加 SSH keys,添加 SSH keys

新建文章自动打开编辑器

新建文章一般是博客根目录下打开 GitBash,使用 hexo new postname 新建文章,如何在新建后自动打开编辑器呢?

在博客根目录下新建文件夹 scripts,在该文件夹中创建 JavaScripts 文本文档,然后修改它的后缀名为.js。也就是改为 JavaScripts.js。编辑器打开并写入以下代码:

var spawn = require('child_process').exec;hexo.on('new', function(data){  spawn('start  "markdown编辑器绝对路径.exe" ' + data.path);});

提示hexo INFO Validating config

  • 下载安装
    npm install -g cnpm --registry=https:registry.npm.taobao.org

    cnpm install -g hexo-cli
    如果还不行就检查你的站点配置文件_config.yml中最后部署到GitHub的分支

因为从2020.10.1开始github默认分支从master改为了main,但是许多旧教程搭建还是还是默认master,将master改为main即可:

deploy:
type: git
repository: git@github.com:用户名/用户名.github.io.git
branch: main

部署后提示:ERROR Deployer not found: git

  • 下面两种方法,第一种不行就用第二种:
    npm install `--`save hexo-deployer-git
    or
    npm install hexo-deployer-git --save

持续更新 ing…

暂时就这么多…以后遇到问题还会更新的。

希望这篇博文永远也不用再更新…