hexo 报错及解决

我们一步一步走下去,踏踏实实的走去,用不抗拒生命交给我们的重负,才是第一个勇者。到了暮然回首的那一瞬间,生命必然给我们公平的答案额又一次乍喜的心情,那是的山和水,又恢复了是山是水,而人生已然走过,是多么美好的一个秋天。——三毛

之前的笔记本环境崩溃过一次,发觉好多之前整理的笔记弄丢了,没办法只得重新开始折腾,遂把这次在弄的东西整理一下,这篇主要是再次折腾 hexo 时候出现的一些问题和报错

一、安装部署报错

1.1 本地调试报错

原文来自这里,http://blog.csdn.net/u012246342/article/details/51543370,其他软件占用了 4000 端口,导致 hexo -s 无法启动

解决办法
启动 hexo s 的时候,用这个命令,换一个端口即可

hexo s -p 5000

1.2 deploy 出错

升级到 hexo 的 3.x 版本,发觉按照正常的安装 deploy 后报错,根据提示,google 了下,发觉很多人给出了这个问题答案,https://github.com/hexojs/hexo/issues/1154

首先要确定 _config.ymldeploy: 后面有一个空格

deploy: 
type: git
repo: git@github.com:<your github username>/<your github username>.github.io.git
branch: gh-pages

如果还报错,应该就是没有装 hexo-deployer-git

怎么安装:

$ npm install hexo-deployer-git --save

然后再:

$ hexo deploy

二、其他问题

2.1 Cannot find module

deploy 时候报错如下,但是不影响使用,参见 https://github.com/hexojs/hexo/issues/1326

{ [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: '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' }

解决办法
安装 hexo 的时候使用

$ npm install hexo --no-optional

不过这个点在我本地没生效,issue 里多数都可以解决,目前还未找到原因

更多错误的解决办法详见参考阅读的 Xuanwo's Blog

2017-04-26 更新

上述错误在我新换的机器上仍旧出现,再次 google 查询,发觉这个错误已经有人总结了下,这里列举官网和网友的解答,本地测试完成后真的完美解决了

根据官方文档的描述,解决办法就是上述贴的$ npm install hexo --no-optional,但是不生效的话,issue 里有个哥们指出了这个办法,按照这个办法可以解决掉

$ npm install hexo –no-optional
if it doesn’t work
try
$ npm uninstall hexo-cli -g
$ npm install hexo-cli -g

我经过两次卸载再安装,发觉再次使用错误不在复现,完美解决
这里我在列举下我本地的环境

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

hexo-util@0.6.0 postinstall /Users/song/.nvm/versions/node/v4.4.4/lib/node_modules/hexo-cli/node_modules/hexo-util
npm run build:highlight

|
hexo-util@0.6.0 build:highlight /Users/song/.nvm/versions/node/v4.4.4/lib/node_modules/hexo-cli/node_modules/hexo-util
node scripts/build_highlight_alias.js > highlight_alias.json

/Users/song/.nvm/versions/node/v4.4.4/bin/hexo -> /Users/song/.nvm/versions/node/v4.4.4/lib/node_modules/hexo-cli/bin/hexo
hexo-cli@1.0.2 /Users/song/.nvm/versions/node/v4.4.4/lib/node_modules/hexo-cli
├── abbrev@1.1.0
├── object-assign@4.1.1
├── minimist@1.2.0
├── bluebird@3.5.0
├── tildify@1.2.0 (os-homedir@1.0.2)
├── hexo-log@0.1.2 (bunyan@1.8.10)
├── chalk@1.1.3 (escape-string-regexp@1.0.5, ansi-styles@2.2.1, supports-color@2.0.0, strip-ansi@3.0.1, has-ansi@2.0.0)
├── hexo-util@0.6.0 (html-entities@1.2.1, striptags@2.2.1, camel-case@3.0.0, cross-spawn@4.0.2, highlight.js@9.11.0)
└── hexo-fs@0.1.6 (escape-string-regexp@1.0.5, graceful-fs@4.1.11, chokidar@1.6.1)

$ hexo –version
hexo: 3.3.1
hexo-cli: 1.0.2
os: Darwin 15.6.0 darwin x64
http_parser: 2.5.2
node: 4.4.4
v8: 4.5.103.35
uv: 1.8.0
zlib: 1.2.8
ares: 1.10.1-DEV
icu: 56.1
modules: 46
openssl: 1.0.2h

  

参考阅读