最新消息:2017年,我的目标是补齐数据结构、算法、操作系统和网络编程的知识,你呢?

配置 Hexo + Github 博客的若干恶心处

技术 谷溪 895浏览 0评论

首先严厉批评一下 Hexo 官方,文档过于落后,导致官方提供的安装配置方法竟有很多错误,给大量用户造成极高的配置成本,而这些本来是不需要用户来承担——软件更新了文档却不改,你是要上天?

声明一下我的环境版本,如果你在网络搜索配制方法,请一定关注一下作者使用的版本,否则可能会有坑。

一些常见问题的处理方案:

问题一:Mac 用户配置 Hexo 前安装 Command Line Tools

官方文档说,Mac 用户在配置 Hexo 时可能会出现一些错误,因此需要在配置前安装 Xcode,并通过 Xcode 安装 Command Line Tools。

大写的坑爹!

Xcode 自版本 5 之后,就将下载 Command Line Tools 的功能移除,而目前 Xcode 最新版本是 7.3 ,可见 Hexo 官方有多久没有更新文档了!大多数对 Xcode 没有任何需求的人,把将近 5G 的 Xcode 下载安装后发现对自己毫无帮助,该是怎样一种草泥马的心情?

苹果已向开发者单独提供 Command Line Tools,一共约 150M 大小,安装后约 450M 。

下载链接:

https://developer.apple.com/downloads/

当然咯 Command Line Tools 也可以通过 命令行 来安装:

问题二:npm install hexo-cli -g 后出现无写入权限问题

由于 npm install 会对 /usr/local/bin 文件夹进行修改,需要 root 权限,因此只需在命令前加 sudo 即可:

问题三:文档中用命令行安装nvm的代码错误

由于 Github 上代码地址发生了更改,而 Hexo 官方文档提供的依旧是旧地址,因此用户如果按照官方教程进行配置就会安装失败。

官方的失效代码:

正确代码如下:

问题四:执行 hexo 命令时的 MODULE_NOT_FOUND 问题

在按照官方说明执行 hexo init blog (或者任意 hexo 命令)时,出现三个 Error: Cannot find module的问题。

我在 hexo 的 issue 中发现大家有几种解决方法:

  1. 先卸载 Hexo ,然后仅安装 Hexo 的核心部分,放弃可选项,代码如下:

同时有群众表示,新版本中需要添加 –save 参数,代码如下:

两种方法我都试过,对我无效。但对你可能有用,不妨一试。

  1. 在 Github Issue 下面,有人提醒也许问题并不出在 Hexo 或者 Node.js 身上,而是错误信息中那个 DtraceProviderBindings 模块的问题。相关链接在此

问题五:部署到Github上的若干小坑

  • 要在blog目录下安装hexo-deployer-git
    这里我一直犯错,在用户根目录下安装,然后显示找不到目录云云。实际应该先进入blog目录,然后执行以下命令:

  • 如前文所述,执行 hexo 系列命令时,module_not_found 问题始终没有解决,但是目前看来,似乎并不影响程序的执行。所以这个错误应该是 OSX 中的某个细节问题,而非 Hexo 的问题。但每次都有这么个尾巴毕竟不爽,后面我会继续跟踪学习,尽量找到解决方案。

  • 详细的安装步骤、以及写博客编辑页面等命令,都在官方文档中,不再赘述。

转载请注明:Alien外星人 » 配置 Hexo + Github 博客的若干恶心处

发表我的评论
取消评论

表情

网友最新评论 (2)

  1. 我也是用 Mac + Hexo 来写博客的,握爪~ 不知道博主是怎么解决 Hexo 插图的问题?我之前手动链接本地图片、再将图片上传至 Hexo。但这个过程麻烦,且在部署到 Github 时会担心图片会降低访问速度。 最近搞了个 iPic 专门解决博客插图的问题:监控剪贴板中的图片、自动上传至微博图床、保存图片链接至剪贴板;这样,直接在 Markdown 编辑器中粘贴即可。感兴趣可以到这里了解下:http://i.toolinbox.net/iPic/iPicIntroduce1.html
    匿名1年前 (2016-05-30)回复
    • 看了,确实不错。不过很多 Markdown 编辑器已经自带自动上传图床功能。
      谷溪1年前 (2016-05-30)回复