之前一直是在Linux环境部署Hexo,感觉Linux下更纯粹一些,而且对Node的支持也更好。至于Hexo源文件的多终端复用采用的依然是再在github上创建一个项目,然后使用git上传到github的方式,这样即使换了电脑也依然能把源文件同步到本地,进行写博客。但是每次博客生成之后都要把源文件再使用git再上传一次,非常的麻烦啊,而且也是在浪费github资源,总觉得不是很地道。于是就想到使用网盘同步的方式,但是Linux只有dropbox有客户端,这客户端体验还非常差,干脆就把Hexo部署到Windows下得了,用SkyDrive同步。
Windows下Hexo的部署
实际上在Windows下部署Hexo是非常简单的,不像Linux下还要先搞定Python,再去搞定NodeJS,还可能遇到各种乱七八糟的依赖。
下载安装NodeJS;
下载安装github的Windows客户端,然后配置github环境变量,将下面的代码添加进Path里;
1
C:\Program Files\nodejs\;C:\Users\zhitao\AppData\Local\GitHub\PortableGit_054f2e797ebafd44a30203088cd3d58663c627ef\libexec\git-core;C:\Users\zhitao\AppData\Local\GitHub\PortableGit_054f2e797ebafd44a30203088cd3d58663c627ef\bin
接下来的安装配置Hexo就跟Linux一样了;
1
2npm install -g hexo
hexo init HexoSourceLinux下部署的Hexo,在Windows下使用github同步下来Hexo的源文件再次同步的话会出现换行方式不统一的问题,错误描述如下:
1
warning: LF will be replaced by CRLF in post.php.
使用下面的指令即可解决这个问题:
1
git config --global core.autocrlf false
github客户端提供了几种不同的Shell,用户是可以选择自己喜欢的,一般就是用默认的git bash,这也是最接近Linux下bash的操作方式;
使用Hexo的时候还是要用github客户端提供的git shell,如果使用Windows的CMD控制台,则会出现下面的错误;
1
2
3Error: spawn ENOENT
at errnoException (child_process.js:977:11)
at Process.ChildProcess.handle.onexit (childprocess.js:768:34)然后将HexoSource文件放入SkyDrive同步文件夹即可。