抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

最近换了一台设备,为了能继续使用hexo博客所以对原先设备上的hexo博客进行了迁移,但在迁移过程中出现了很多问题,所以为了防止以后再出现类似的问题,我在这里总结下正确的迁移步骤。等真的做下来才发现是真的简单

hexo博客迁移设备


一、配置hexo博客所需要的配置环境

1、下载GIt

  • 首先先从Git的官网下载安装Git
  • 或者从百度网盘下载(提取码:)
  • 以下Git安装步骤参考来源:来源查看


2、Git安装

  • 双击开始安装

Git


  • 进入如下页面,点击next

安装1


  • 选择安装的文件路径默认在c盘下安装

安装2


  • 选择要安装的组件信息。
    • 红色圈起来的为添加桌面快捷方式。
    • 黑色圈起来的为默认勾选的,不需要改动。
    • 黄色圈起来是在所有窗口使用TrueType字体以及检查Git forWindows更新,根据个人选择勾选
安装3
  • 到这一步是创建启动文件夹,默认即可,直接next
安装4
  • 接着这一步依然无需更改,直接next。
安装5
  • 三个选项的意思如下
    • 选项一是“仅从Git Bash使用Git”。这是最安全的选择,因为您的PATH根本不会被修改。您只能使用 Git Bash 的 Git 命令行工具。但是这将不能通过第三方软件使用。
    • 选项二是“从命令行以及第三方软件进行Git”。该选项被认为是安全的,因为它仅向PATH添加了一些最小的Git包装器,以避免使用可选的Unix工具造成环境混乱。
      您将能够从Git Bash,命令提示符和Windows PowerShell以及在PATH中寻找Git的任何第三方软件中使用Git。这也是推荐的选项。
    • 选项三,会将git相关程序以及一些其他的Unix工具加入系统环境变量,使得Windows系统cmd命令行中可以使用git以及Unix工具。要注意的是,这将覆盖Windows工具,如 “ find 和 sort ”。只有在了解其含义后才使用此选项。
安装6
  • 选项的意思为:
    • 选项一 “使用 OpenSSL 库”。服务器证书将使用ca-bundle.crt文件进行验证。这也是我们常用的选项。
    • 选项二 “使用本地 Windows 安全通道库”。服务器证书将使用Windows证书存储验证。此选项还允许您使用公司的内部根CA证书,例如通过Active Directory Domain Services 。
      默认选择第一项,直接next即可
安装7
  • 三个选项的意思为

    • 选项一 选项让Git能够自动转换文件中的换行符;签出到本地时转换为Windows下的换行符,提交到服务器时转换为Unix下的换行符

    • 选项二 选项让Git在签出到本地时不做转换,保留原始文件的换行符;提交到服务器时转换为Unix下的换行符

    • 选项三 让Git在签出到本地时和提交到服务器时都不做转换

      默认选择第一项,然后next

      安装8

  • 两个选项的意思为:
    • 选项一 “使用MinTTY(MSYS2的默认终端)”。Git Bash将使用MinTTY作为终端模拟器,该模拟器具有可调整大小的窗口,非矩形选择和Unicode字体。Windows控制台程序(例如交互式Python)必须通过“ winpty”启动才能在MinTTY中运行。
    • 选项二 “使用Windows的默认控制台窗口”。Git将使用Windows的默认控制台窗口(“cmd.exe”),该窗口可以与Win32控制台程序(如交互式Python或node.js)一起使用,但默认的回滚非常有限,需要配置为使用unicode 字体以正确显示非ASCII字符,并且在Windows 10之前,其窗口不能自由调整大小,并且只允许矩形文本选择。
      默认第一项,next
安装9
  • 选项的意思为
    • 选项一 启用文件系统缓存
    • 选项二 启用Git凭证管理器
    • 选项三 启用符号链接
      默认选项无需更改,直接点击install即可进行安装

安装10


  • 如此便只能装好了

安装11


  • 接下来对安装的Git进行检测
    • 按住window键 + R,输入cmd打开DOS窗口;
    • 输入git –version查看git版本号

Git检测

           出现上面的样子则只能装成功



3、Git设置一些基本信息

  • 设置一个用户名:git config –global user.name “在github上注册的用户名”
  • 设置一个用户邮箱:git config –global user.email “在github上注册的邮箱”
    • ps:当该配置完成之后,会在github主页上显示有谁提交了文件
  • 配置完成之后输入该命令查看配置是否成功 git config –list


4、下载nodejs



5、安装nodejs

  • 双击图标开始安装

nodejs图标


  • 点击next
nodejs安装1
  • 选择接受协议,点击next
nodejs安装2
  • 选择安装路径
nodejs安装3
  • 安装需要的模块
nodejs安装4
  • 开始安装
nodejs安装5
  • 安装完成、
nodejs安装6
  • 和上面安装完Git一样,按住window键 + R,输入cmd打开DOS窗口。然后输入node -v 查看有没有版本号

nodejs检测

​ 出现如上的画面则说明安装成功



6、配置nodejs的环境变量

NodeJS和NPM安装好了以后并不能直接使用,默认情况下,NPM安装的模块并不会安装到NodeJS的程序目录,比如我们安装的时候设置的D盘,“D:\Program Files\nodejs”,而我们使用npm安装一个cluster模块他会出现在C盘默认的路径下面,所以,如果我们不修改npm的模块安装目录,那么它默认情况下都会安装到这里,随着你测试开发各种不同的项目,安装的模块越来越多,这个文件夹的体积就会越来越大,直到占满你的C盘。所以我们要修改npm的配置。摘要来源


(1)在nodejs的安装文件目录下新建两个文件夹为:node_global node_cecal

这两个文件夹的作用是放安装过程的缓存文件以及最终的模块配置位置

(2)使用如下命令将npm的全局模块目录和缓存目录配置到我们刚才创建的那两个目录

1
2
3
npm config set prefix "node_global文件的路径"
npm config set cache "node_cache的文件路径"
//例如:npm config set prefix “D:\Program Files\nodejs\node_global”

(3)配置系统环境变量

新增系统变量如下图

nodejs环境变量配置1

然后在Path变量名中修改nodejs默认路径

nodejs环境变量配置2
nodejs检测2

7、nodejs配置淘宝镜像

打开Git Bash Here 输入下列命令更改npm的config的registry 为淘宝镜像

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

​ 此外,在更新node-sass中,有时候也会出现资源下载不了的问题,通常是git上的资源下载不了,这时候,可以更改node-sass的 资源路径为淘宝的

1
npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

**phantomjs的源**
1
npm config set phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/ 

electron源

1
npm config set electron_mirror=https://npm.taobao.org/mirrors/electron/

查看nodejs的默认配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#npm config ls -l
; cli configs
long = true
user-agent = "npm/2.14.12 node/v4.2.4 win32 x64"

; builtin config undefined
prefix = "C:\\Users\\zgr\\AppData\\Roaming\\npm"
registry = "https://registry.npm.taobao.org/"

; default values
access = null
always-auth = false
bin-links = true
browser = null
ca = null
cache = "C:\\Users\\zgr\\AppData\\Roaming\\npm-cache"
cache-lock-retries = 10
cache-lock-stale = 60000
cache-lock-wait = 10000
cache-max = null
cache-min = 10
cafile = undefined
cert = null
color = true
depth = null
description = true
dev = false
editor = "notepad.exe"
engine-strict = false
fetch-retries = 2
fetch-retry-factor = 10
fetch-retry-maxtimeout = 60000
fetch-retry-mintimeout = 10000
force = false
git = "git"
git-tag-version = true
global = false
globalconfig = "C:\\Users\\zgr\\AppData\\Roaming\\npm\\etc\\npmrc"
globalignorefile = "C:\\Users\\zgr\\AppData\\Roaming\\npm\\etc\\npmignore"
group = 0
heading = "npm"
https-proxy = null
if-present = false
ignore-scripts = false
init-author-email = ""
init-author-name = ""
init-author-url = ""
init-license = "ISC"
init-module = "C:\\Users\\zgr\\.npm-init.js"
init-version = "1.0.0"
json = false
key = null
link = false
local-address = undefined
loglevel = "warn"
; long = false (overridden)
message = "%s"
node-version = "4.2.4"
npat = false
onload-script = null
optional = true
parseable = false
; prefix = "C:\\Program Files\\nodejs" (overridden)
production = false
proprietary-attribs = true
proxy = null
rebuild-bundle = true
; registry = "https://registry.npmjs.org/" (overridden)
rollback = true
save = false
save-bundle = false
save-dev = false
save-exact = false
save-optional = false
save-prefix = "^"
scope = ""
searchexclude = null
searchopts = ""
searchsort = "name"
shell = "C:\\Windows\\system32\\cmd.exe"
shrinkwrap = true
sign-git-tag = false
spin = true
strict-ssl = true
tag = "latest"
tag-version-prefix = "v"
tmp = "C:\\Users\\zgr\\AppData\\Local\\Temp"
umask = 0
unicode = true
unsafe-perm = true
usage = false
user = 0
; user-agent = "npm/{npm-version} node/{node-version} {platform} {arch}" (overri
dden)
userconfig = "C:\\Users\\zgr\\.npmrc"
version = false
versions = false
viewer = "browser"


8、hexo配置

完成以上的操作之后使用如下命令完成hexo的安装

1
cnpm install -g hexo-cli

对hexo进行检测

1
hexo -v

出现如下信息即为安装成功

hexo检测

迁移博客的所有环境都已经安装完毕,接下就是迁移文件的过程了,相对来说也很简单!



二、迁移博客文件

  • 打开原设备上的博客文件夹(我的是blog),复制以下文件到U盘

hexo文件迁移


  • 将以上文件全部放入新设备的博客文件夹,然后在新博客文件的路径下安装第三方依赖
1
2
npm install 
npm install hexo-deployer-git --save // 文章部署到 git 的模块

  • 此时可以执行hexo s查看原先的添加的文章了

  • GITHUB 添加 SSH KEYS

    • 在本地输入

      1
      2
      3
      4
      $ ssh-keygen -t rsa -C “xxxx@qq.com“//你注册的github的邮箱
      #这将按照你提供的邮箱地址,创建一对密钥
      Generating public/private rsa key pair.
      Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
    • 直接回车,则将密钥按默认文件进行存储。此时也可以输入特定的文件名,比如/c/Users/you/.ssh/github_rsa

      接着,根据提示,你需要输入密码和确认密码

      1
      2
      Enter passphrase (empty for no passphrase): [Type a passphrase]
      Enter same passphrase again: [Type passphrase again]
    • 输入完成之后会得到以下提示信息

      1
      2
      3
      4
      Your identification has been saved in /c/Users/you/.ssh/id_rsa.
      Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
      The key fingerprint is:
      01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

  • 在GitHub中添加公钥

    • 进入github官网登录之后点击右上角头像;

    • 在下拉列表中选择Settings;

    • 点击下图圈中的列表

      SSH密钥
    • 再点击右侧的图示按钮

      SSH密钥1
    • 访问此路径“C:/Users/you/.ssh”打开id_rsa.pub文件(使用记事本)复制文本内容到key的文本框中再点击“Add SHH key”

      SSH密钥2
    • 这样公钥就添加成功了,之后输入如下的代码进行检测

      1
      $ssh -T git@github.com

      你可能会看到告警信息,如下:

      1
      2
      3
      The authenticity of host 'github.com (207.97.227.239)' can't be established.
      RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
      Are you sure you want to continue connecting (yes/no)?

      不用担心,直接输入yes。

      如果看到下面信息,就说明一切完美!

      Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.


  • 这样博客就迁移成功了!


三、Hexo博客的常用指令

1
2
3
4
hexo clean//清除本地数据库中的数据
hexo g//生成本地文件
hexo d//上传到github
hexo s//运行本地文件


四 、Hexo 图片加载问题

很久不使用Hexo博客了,这段时间上传积累的笔记时,遇到了图片在本地可以浏览,但是上传之后始终找不到图片的现象,即图片无法加载。

![1.Hexo 图片无法加载样例1](/../hexo博客使用问题/1.Hexo 图片无法加载样例1.png)

![2.Hexo 图片无法加载样例2](/../hexo博客使用问题/2.Hexo 图片无法加载样例2.png)

诸如上图所示的现象。先上结论:

  • md文件的名称与存放图片的文件夹名称不一致

![3.Hexo 图片加载注意事项一,文件名称不一致](/../hexo博客使用问题/3.Hexo 图片加载注意事项一,文件名称不一致.png)

  • 文件的名称之间有空格存在

![4.Hexo 图片加载注意事项二,文件名称中间有空格](/../hexo博客使用问题/4.Hexo 图片加载注意事项二,文件名称中间有空格.png)

存在这两种现象的话,在本地浏览md文件没有什么问题,但是如果上传到服务器后,在加载时会无法显示图片。将上面的文件修改为以下内容时图片就会正常显示了。

![5.Hexo 图片加载注意事项二,正确格式](/../hexo博客使用问题/5.Hexo 图片加载注意事项二,正确格式.png)

参考资料:

hexo博客中插入图片失败——解决思路及个人最终解决办法

解决Hexo无法显示图片的几种方案

五、Hexo使用网址收集

Hexo版本升级指南

六、总结

  • 搭建好hexo博客所需要的运行时环境Git、nodeJs、hexo;
  • 复制备份核心文件(scaffolds、source、themes 、.gitignore、_config.yml、package-lock.json、package.json);
  • 将核心文件放入新的设备,然后添加第三方依赖;
  • 重新生成SSH密钥并在Github上添加(原先的密钥不要删除)。





参考文献

文献1:hexo个人博客:换了电脑怎么办

文献2:如何在另一台电脑上继续hexo写博客

文献3:使用SSH密钥连接Github【图文教程】

文献4:Git安装和使用

文献5:NodeJs安装与配置淘宝镜像

文献6:NodeJS安装及npm使用淘宝镜像

评论