Hexo 3.0 on Mac

爱折腾就得花时间,Hexo是个好东西,但一到环境切换上就不让人省心了。花了多半天,总算切到MBP上了,不算顺利,有些小坑,记录一下。

这次的移植的环境是:OS X系统,Hexo版本如下(没显示出主版本,实际是3.0+):

➜  blog  hexo --version
hexo-cli: 0.1.7
os: Darwin 14.3.0 darwin x64
http_parser: 1.0
node: 0.10.35
v8: 3.14.5.9
ares: 1.9.0-DEV
uv: 0.10.30
zlib: 1.2.8
modules: 11
openssl: 1.0.1j

对于全新安装Hexo 3.0+的同学,可以直接参考一位同学的Hexo 3.0安装博客

DTraceProviderBindings

首先出现莫名其妙的MODULE_NOT_FOUND

{ [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/Debug/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }

参见Github上的问题1。作者对此也没有权威解释,只是告诉加一个参数就可以了:

$ npm install -g hexo-cli --no-optional

The Wall

因为国内的网络情况,很多时候Ruby啊,Node的包管理器都会出现连接失效,这种情况下,或者使用代理(BTW:GoAgent已经不大好用了),或者使用国内的包镜像站,用代理的话,可以这么设置:

npm config set proxy=http://127.0.0.1:8087

不过用国内的镜像站应该是最省心的,改一下registry就好了:

npm config set registry="http://r.cnpmjs.org"

如果你还遇到别的情况,参考这个链接吧,写的比较细:npm_cross_wall

hexo server

Hexo 3.0以后还有一个变化,就是server模块需要单独安装,在博客目录内执行如下命令即可:

npm install hexo-server --save

hexo generate

运行hexo g时发现,所有的markdown没有生成,发现和之前hexo版本不一样,需要来这么一下:

hexo init
npm install

github or git

Hexo 3.0后,需要把deployer的类型从github改成git,另外需要加入相应的包:

npm install hexo-deployer-git --save

最后,坑踩完了。需要提醒的是,遇到问题,主要参考hexo的github主页上的问题列表,作者tommy的主页,或者最后找不到只能谷而歌之。Happy blogging with Hexo 3.0!