Windows下部署hexo环境

之前一直是在Linux环境部署Hexo,感觉Linux下更纯粹一些,而且对Node的支持也更好。至于Hexo源文件的多终端复用采用的依然是再在github上创建一个项目,然后使用git上传到github的方式,这样即使换了电脑也依然能把源文件同步到本地,进行写博客。但是每次博客生成之后都要把源文件再使用git再上传一次,非常的麻烦啊,而且也是在浪费github资源,总觉得不是很地道。于是就想到使用网盘同步的方式,但是Linux只有dropbox有客户端,这客户端体验还非常差,干脆就把Hexo部署到Windows下得了,用SkyDrive同步。

Windows下Hexo的部署

实际上在Windows下部署Hexo是非常简单的,不像Linux下还要先搞定Python,再去搞定NodeJS,还可能遇到各种乱七八糟的依赖。

  1. 下载安装NodeJS

  2. 下载安装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
  3. 接下来的安装配置Hexo就跟Linux一样了;

    1
    2
    npm install -g hexo
    hexo init HexoSource

  4. Linux下部署的Hexo,在Windows下使用github同步下来Hexo的源文件再次同步的话会出现换行方式不统一的问题,错误描述如下:

    1
    warning: LF will be replaced by CRLF in post.php.

    使用下面的指令即可解决这个问题:

    1
    git config --global core.autocrlf  false
  5. github客户端提供了几种不同的Shell,用户是可以选择自己喜欢的,一般就是用默认的git bash,这也是最接近Linux下bash的操作方式;

  6. 使用Hexo的时候还是要用github客户端提供的git shell,如果使用Windows的CMD控制台,则会出现下面的错误;

    1
    2
    3
    Error: spawn ENOENT
    at errnoException (child_process.js:977:11)
    at Process.ChildProcess.handle.onexit (childprocess.js:768:34)
  7. 然后将HexoSource文件放入SkyDrive同步文件夹即可。