最近换了一台设备,为了能继续使用hexo博客所以对原先设备上的hexo博客进行了迁移,但在迁移过程中出现了很多问题,所以为了防止以后再出现类似的问题,我在这里总结下正确的迁移步骤。等真的做下来才发现是真的简单
hexo博客迁移设备
一、配置hexo博客所需要的配置环境
1、下载GIt
2、Git安装
- 双击开始安装
- 进入如下页面,点击next
- 选择安装的文件路径默认在c盘下安装
- 选择要安装的组件信息。
- 红色圈起来的为添加桌面快捷方式。
- 黑色圈起来的为默认勾选的,不需要改动。
- 黄色圈起来是在所有窗口使用TrueType字体以及检查Git forWindows更新,根据个人选择勾选
- 到这一步是创建启动文件夹,默认即可,直接next
- 接着这一步依然无需更改,直接next。
- 三个选项的意思如下
- 选项一是“仅从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 ”。只有在了解其含义后才使用此选项。
- 选项的意思为:
- 选项一 “使用 OpenSSL 库”。服务器证书将使用ca-bundle.crt文件进行验证。这也是我们常用的选项。
- 选项二 “使用本地 Windows 安全通道库”。服务器证书将使用Windows证书存储验证。此选项还允许您使用公司的内部根CA证书,例如通过Active Directory Domain Services 。
默认选择第一项,直接next即可
三个选项的意思为
选项一 选项让Git能够自动转换文件中的换行符;签出到本地时转换为Windows下的换行符,提交到服务器时转换为Unix下的换行符
选项二 选项让Git在签出到本地时不做转换,保留原始文件的换行符;提交到服务器时转换为Unix下的换行符
选项三 让Git在签出到本地时和提交到服务器时都不做转换
默认选择第一项,然后next
- 两个选项的意思为:
- 选项一 “使用MinTTY(MSYS2的默认终端)”。Git Bash将使用MinTTY作为终端模拟器,该模拟器具有可调整大小的窗口,非矩形选择和Unicode字体。Windows控制台程序(例如交互式Python)必须通过“ winpty”启动才能在MinTTY中运行。
- 选项二 “使用Windows的默认控制台窗口”。Git将使用Windows的默认控制台窗口(“cmd.exe”),该窗口可以与Win32控制台程序(如交互式Python或node.js)一起使用,但默认的回滚非常有限,需要配置为使用unicode 字体以正确显示非ASCII字符,并且在Windows 10之前,其窗口不能自由调整大小,并且只允许矩形文本选择。
默认第一项,next
- 选项的意思为
- 选项一 启用文件系统缓存
- 选项二 启用Git凭证管理器
- 选项三 启用符号链接
默认选项无需更改,直接点击install即可进行安装
- 如此便只能装好了
- 接下来对安装的Git进行检测
- 按住window键 + R,输入cmd打开DOS窗口;
- 输入git –version查看git版本号
出现上面的样子则只能装成功
3、Git设置一些基本信息
- 设置一个用户名:git config –global user.name “在github上注册的用户名”
- 设置一个用户邮箱:git config –global user.email “在github上注册的邮箱”
- ps:当该配置完成之后,会在github主页上显示有谁提交了文件
- 配置完成之后输入该命令查看配置是否成功 git config –list
4、下载nodejs
5、安装nodejs
- 双击图标开始安装
- 点击next
- 选择接受协议,点击next
- 选择安装路径
- 安装需要的模块
- 开始安装
- 安装完成、
- 和上面安装完Git一样,按住window键 + R,输入cmd打开DOS窗口。然后输入node -v 查看有没有版本号
出现如上的画面则说明安装成功
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 | npm config set prefix "node_global文件的路径" |
(3)配置系统环境变量
新增系统变量如下图
然后在Path变量名中修改nodejs默认路径
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 | #npm config ls -l |
8、hexo配置
完成以上的操作之后使用如下命令完成hexo的安装
1 | cnpm install -g hexo-cli |
对hexo进行检测
1 | hexo -v |
出现如下信息即为安装成功
迁移博客的所有环境都已经安装完毕,接下就是迁移文件的过程了,相对来说也很简单!
二、迁移博客文件
- 打开原设备上的博客文件夹(我的是blog),复制以下文件到U盘
- 将以上文件全部放入新设备的博客文件夹,然后在新博客文件的路径下安装第三方依赖
1 | npm install |
- 此时可以执行hexo s查看原先的添加的文章了
在GITHUB 添加 SSH KEYS
在本地输入
1
2
3
4$ ssh-keygen -t rsa -C “xxxx//你注册的github的邮箱 .com“
#这将按照你提供的邮箱地址,创建一对密钥
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
2Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]输入完成之后会得到以下提示信息
1
2
3
4Your 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 .com
在GitHub中添加公钥
进入github官网登录之后点击右上角头像;
在下拉列表中选择Settings;
点击下图圈中的列表
再点击右侧的图示按钮
访问此路径“C:/Users/you/.ssh”打开id_rsa.pub文件(使用记事本)复制文本内容到key的文本框中再点击“Add SHH key”
这样公钥就添加成功了,之后输入如下的代码进行检测
1
$ssh -T git .com
你可能会看到告警信息,如下:
1
2
3The 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 | hexo clean//清除本地数据库中的数据 |
四 、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博客所需要的运行时环境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使用淘宝镜像