这应该是重新学习部署hexo的第5遍了!!😫 真心不想每次重新在新环境中搭建都这么麻烦,于是把记录写的详细一点
安装及初始化步骤
网址nodejs.org
安装node的LTS版本(长期支持版),安装位置可以自定义,安装时选择了安装一个chocolatey的包,不知道是什么,它会自动补齐python、vs的运行环境之类的(这个安装可能要耗费至少半个小时的时间,可以先放在一旁)。安装后在win的命令行查看node和npm包的版本
terminal
之后下载一个cnpm,来镜像安装一些东西。安装完成后查看cnpm有没有安装好。
terminal 1 2 npm install -g cnpm --registry=http://registry.npm.taobao.org cnpm -v
查看cnpm版本时可能报错,是因为windows系统的设置导致无法运行脚本。于是敲入下面的代码,回复A选择“全是”
terminal 1 2 set-ExecutionPolicy RemoteSigned "A"
安装hexo以及相关依赖,以及验证版本。创建自己的博客主目录,之后所有的操作都在这个文件夹中进行,要是博客遇到不可逆的问题,直接删除就好了,对其他东西没有任何影响。
terminal 1 2 npm install -g hexo-cli hexo -v
terminal
terminal 1 2 3 4 hexo s 启动本地服务器,执行预览操作 hexo n "title" 创建新文章post hexo clean 每次要更新博客内容前,需要执行此操作 hexo g 清理完之后生成新的内容即可
如何部署到github上
首先在github中新建一个库,库的名字必须是—账户名.github.io
之后在博客文件目录下安装一个git部署的插件
terminal 1 2 注意目录是在博客文件目录中 本机是F:\zyc_github_repo\hexo_blog cnpm install --save hexo-deployer-git
打开主目录中的博客配置文件_config.yml,最下面有一个# deployment单元,修改并添加内容
terminal 1 2 3 4 5 注意下面每个冒号后都有一个占位符,并且这里对应部署的库事delayzzz,可能不同 deploy type: git repo: https://github.com/delayzzz/delayzzz.github.io.git branch: master
最后就是部署到远端的指令。
terminal 1 hexo d 可能需要输入github的账号和密码
注意这里遇到问题,可能电脑没安装git,必须要先安装,安装好后要在该目录下进行git的初始化,否则即报错不存在git repository。并且我认为最好把这个本地博客和远程github上对应的仓库关联上。!!注意注意 !!第二句的“仓库地址”必须清楚,是https格式还是ssh格式,建议是ssh格式,因为等外网总会有时候行又不行的。那这个需要在本地创建一个ssh密钥并关联到github账号里!
terminal 1 2 git init git remote add origin 仓库地址
部署远端github上还是有时候会有问题,下面介绍一下解决过程
terminal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 一开始会报错 fatal: unable to access 'https://github.com/delayzzz/delayzzz.github.io.git/': OpenSSL SSL_read: Connection was reset, errno 10054 之后百度查是什么问题,解决问题是敲入指令 git config --global http.sslVerify "false" 敲入之后在尝试远程部署,发现换了另一种报错 fatal: unable to access 'https://github.com/delayzzz/delayzzz.github.io.git/': Failed to connect to github.com port 443: Timed out 这个我看有人回答是因为网络不行,毕竟github总在需不需要翻墙的问题上左右横跳,试了很多方法都不行。 突然看到有人说,这个可以用SSH上传的方式解决,于是我就在本机上增加了delayzzz账号的ssh密钥。并且关联了这个目录到远程仓库 git remote add origin https://github.com/delayzzz/delayzzz.github.io.git 没用啊?还是会报错超时。此时我分析了一下,如果是网络的问题,那我用https格式那确实解决不了问题,需要用ssh格式来同步应该才有用 git remote add origin git@github.com:delayzzz/delayzzz.github.io.git 还是没用?我眉头一紧,定睛一看,hexo远程部署的远程url是之前在_config.yml里定义的,所以必须把那里的repo改成ssh格式的!有点道理把! repo: git@github.com:delayzzz/delayzzz.github.io.git 远程部署没出现问题了,nice
此时捏🐎的又有个问题,就是hexo默认主题的readme文档里有个字符还是tag,github上传但是编译不通过,应该不能正常展示html页面,目前只是把那个readme文档整个删除了。。
最后最后终极大boss问题,我第一次的整体操作不知道是哪一步有问题,或者操作顺序有问题?github一直给我发邮件,一开始是上一个那个文档的问题。删除后就是说我的github page主题风格有问题,总之我的线上博客页面一直是404。我大胆判断(很大胆),是我一开始把整体文件夹发到远程库了,而不是经hexo deploy后的静态文件,推到网上自然出问题。 删掉博客文件目录,重新来了一遍,再也没有邮件骚扰我了,所以上面一个问题本来就不是问题,噫嘘唏,浪费了一晚上时间。其实我看到这个库里的语言都是些小众语言,不是CSS,HTML之流我就感觉怪怪的,所以以后犯了这样的问题也能从这里发现的!
当然如果你之后还是因为某些原因(瞎搞玩花的结果搞脱了)删除了,那么新建一般都是怎么样的呢?
terminal 1 2 3 hexo init git init npm install --save hexo-deployer-git
如何更换Hexo博客主题 很简单。。应该没有坑,改个名字而已