hexo的迁移与配置

<>

参考教程

CSDN:Hexo博客迁移到新电脑
博客魔改教程总结(五)

0 情景导入

换了一台电脑,将旧电脑的Hexo博客写作环境迁移到新电脑上。

1 Git下载及配置

  1. 从官网Git下载git并安装,下面设置无密push+pull;
  2. 打开git bash,在用户主目录(其他目录也可)下运行:ssh-keygen -t rsa -C "youremail@example.com"把其中的邮件地址换成自己的邮件地址,然后一路回车;
  3. 最后完成后,会在用户主目录下生成.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH key密钥对,id_rsa是私钥,千万不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人;
  4. 登陆GitHub,打开「Settings」->「SSH and GPG keys」,然后点击「new SSH key」,填上任意Title, 在Key文本框里粘贴公钥id_rsa.pub文件的内容(千万不要粘贴成私钥了!),最后点击[Add SSH Key],你就应该看到已经添加的Key。
  5. 注意:不要在git版本库中运行ssh,然后又将它提交,这样就把密码泄露出去了

2 安装Node.js

1.Hexo基于Node.js,Node.js下载地址:Download|Node.js下载安装包,注意安装Node.js会包含环境变量及npm的安装,安装后,检测Node.js是否安装成功,在命令行中输入 node -v;
2.检测npm是否安装成功,在命令行中输入npm-v

3 安装Hexo

新建文件夹四,在此文件夹内使用npm命令全局安装Hexo,输入:

1
npm install -g hexo-cli

输入 hexo -v检查是否安装成功。

如果安装速度慢可以修改npm源。npm下载各种模块,默认是从国处服务器下载,速度较慢,建议配置成淘宝镜像。打开CMD窗口,运行如下命令:

1
npm config set registry https://registry.npm.taobao.org

4 复制原电脑上的数据

  1. 需要复制的

    _config.yml:站点配置
    _config.anzhiyu.yml:主题配置文件,为了方便主题升级剥离出来的配置文件
    package.json:说明使用那些依赖包
    scaffolds:文章的模板
    source:自己写的博客文件
    themes:主题文件夹(魔改都在里面)
    .gitignore:限定在提交的时候哪些文件可以忽略

  2. 需要删除的

    .git:无论是在站点根目录下,还是主题目录下的.git文件,都可以删掉。
    node_modules:在用npm instal1会重新生成
    public:hexo g会重新编译生成
    .deploy_git:在使用hexo d时也会重新生成
    db.json文件:hexo s快速启动所需的数据库
    package-lock.json:记录依赖之间的内部依赖关系,可以根据package.json重新生成
    其实上面这些文件也就是.gitignore文件里面记载的可以忽略的内容。

5 npm install

git bash中切换口目录到新拷贝的文件夹里,使用npm instal1 命令,进行模块安装。很明显我们这里没用hexo init初始化,因为有的文件我们已经拷贝生成过来了,所以不必用hexo init 去整体初始化,如果不慎在此时用了hexo init,则站点的配置文件_config.yml里面内容会被清空使用默认值,所以这一步一定要慎重,不要用hexo init

6 安装其他必要组件

1
2
3
npm install hexo-deployer-git --save #为了使用hexo d来部署到git上
npm install hexo-generator-feed --save #为了建立RSS订阅
npm install hexo-generator-sitemap --save #为了建立站点地图

插件安装后,有的需要对配置文件_config.yml进行配置,具体怎么配置,可以参考上面插件在github主页上的具体说明

7 验证

首先本地执行,在博客根目录下执行:

1
2
hexo cl
hexo s

此时可访问浏览器:http://localhost:4000/,查看是否转移成功。
当本地能成功启动,之后就可以部署到Github,执行以下代码:

1
hexo cl; hexo ge; hexo d

如果出现Deploy done,则说明部署成功,稍等两分钟,打开浏览器访问之前的域名就可以看到之前的博客,以后你可以在这台新电脑上魔改和写文章了~

如果出错
在线访问出错,无法访问。开始排查:

  1. .deploy_git文件夹内的文件大小均为0kb,也就是生成了一些空文件;
  2. public文件夹内的文件大小均为Okb,但是本地可以正常访问,不知道为啥
    1
    2
    3
    4
    5
    Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.
    INFO(node:23336) Warning: Accessing non-existent property 'lineno' of module export...
    (Use node --trace-warningsto show where the warning was created)
    ...
    ...

    解决方法:Node版本太高,切换一个低版本Node可以(我这里是14.17.6切换成12.5.0就没有这个问题了)

  3. 问题已解决,可以在线访问博客了。