去年六月高考结束后,我曾天真地以为自己终于可以勤劳地更新自己荒废一年半的博客了,然而由于各种各样的理由(好吧,就是因为我懒),写完一篇html的文章后,我再次荒废了半年。如今当我终于想起自己还有一个在角落里吃灰的博客时,它罢工了,而我至今不晓得它到底犯了什么毛病。不过呢,最终在我诚心诚意的不懈努力下(其实并不),它莫名其妙地好了。
首先让我来展示一下我遇到的这个错误:1
2ERROR Local hexo not found in ~/MyHexoBlog
ERROR Try running: 'npm install hexo --save'
当然,因为我原先是在Cloud9上写的博客,所以并不是in ~/MyHexoBlog,不过没什么区别。
遇到自己无法解决的问题,第一步当然是百度找解决方法。然而网上的方法全试过一遍后,Cloud9的bash完全瘫痪,而此时我已经受够了Cloud9,并且决心将文件转移到本地——我的Ubuntu系统上,此过程相当于重新搭建一个博客,不过也省了很多步骤。
使用hexo搭建blog并且托管到github上总共分三个步骤:
1.安装nodejs和npm
2.搭建本地的hexo
3.安装并配置git
安装nodejs和npm
1 | sudo apt-get install nodejs |
linux上安装这些似乎都需要加上sudo,sudo可以使一般用户获得部分root权限,而用户只需要输入自己的密码。
输入这两个命令后,nodejs和npm就安装完成了。如果你并不能确定自己是否已经安装成功,那么你可以通过以下node -v
和npm -v
这两句命令行检验一下。这两句命令是用来查看nodejs和npm的版本的,如果出现了1
2
3
4kermit@kermit-VGN-CS33H-B:~/MyHexoBlog$ npm -v
3.5.2
kermit@kermit-VGN-CS33H-B:~/MyHexoBlog$ node -v
v8.10.0
这样的结果,说明你已经安装成功了。
搭建本地的hexo
1 | npm i -g hexo-cli |
这一步似乎只有这一条全局安装的命令。由于我是转移自己的博客文件,所以我直接将自己的文件覆盖上去。
安装并配置git
1 | sudo apt-get install git |
这一条是用来安装git的,这不必多说。
接下来就是配置git了,在此之前你必须确保自己有一个github账号,并且新建一个仓库(Repositories),仓库名为注册名.github.io。以上步骤结束后,你就可以执行1
2git config --global user.name "你的github用户名"
git config --global user.email "你注册github时使用的邮箱"
然后需要修改你博客文件中的配置文件_config.yml,找到Deployment一栏,将其修改为:1
2
3
4
5
6# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repository: git@github.com:你的用户名/你的用户名.github.io.git
brach: master
其实到这一步就可以结束了。但浏览网上的教程都有配置SSH这一步,SSH是一种远程连接工具,在这里的作用是让你免密连接github。
要配置SSH,第一步当然得先安装SSH。1
sudo apt install openssh-server
安装完成之后就可以直接生成你的SSH密钥。1
ssh-keygen -t rsa -C "你注册github时使用的邮箱"
生成密钥后,你需要将公钥添加到你的github账户中。当然在此之前,你可以通过ssh -T git@github.com
这条命令检验密钥是否成功生成。
首先通过cat ~/.ssh/id_rsa.pub
命令得到你的公钥。然后在你github个人账户的settings中,选择SSH and GPG keys
这一项,点击New SSH key
,自拟题目,并将公钥粘贴到下栏,记得公钥包括最后的邮箱。
到此为止,博客搭建完成,你只要进入你的blog文件夹,然后用hexo指令尽情书写你的博客即可。
本应如此,然而也许是因为我直接将文件覆盖上去,最初的那个错误依旧挡住了我的道路。于是我再一次将网上的方法试一遍。
网上大多数方法就是输入系统给你的建议npm install hexo --save
,然而对我这种情况并没有改善。
另一种方法是删除node_modules文件夹,然后使用npm install
指令。这一次,方法奏效了。
可喜可贺,可喜可贺。