# 问题解答
在使用 Hexo 时,您可能会遇到一些问题,下列的常见问题解答可能会对您有所帮助。如果您在这里找不道解答,可以在 [GitHub](https://github.com/hexojs/hexo/issues) 或 [Google Group](https://groups.google.com/group/hexo) 上提问。
## YAML 解析错误
```
JS-YAML: incomplete explicit mapping pair; a key node is missed at line 18, column 29:
last_updated: Last updated: %s
```
如果 YAML 字符串中包含冒号(`:`)的话,请加上引号。
```
JS-YAML: bad indentation of a mapping entry at line 18, column 31:
last_updated:"Last updated: %s"
```
请确认您使用空格进行缩进(Soft tab),并确认冒号后有加上一个空格。
您可参阅 [YAML 规范](http://www.yaml.org/spec/1.2/spec.html) 以取得更多信息。
## EMFILE 错误
```
Error: EMFILE, too many open files
```
虽然 Node.js 有非阻塞 I/O,同步 I/O 的数量仍被系统所限制,在生成大量静态文件的时候,您可能会碰到 EMFILE 错误,您可以尝试提高同步 I/O 的限制数量来解决此问题。
```
$ ulimit10000
```
## Git 部署问题
```
fatal: 'username.github.io' does not appear to be a git repository
```
请确认您已经在电脑上 [配置 git](https://help.github.com/articles/set-up-git),或改用 HTTPS 库(repository)地址。
## 服务器问题
```
Error: listen EADDRINUSE
```
您可能同时开启两个 Hexo 服务器,或者有其他应用程序正在占用相同的端口,请尝试修改 `port` 参数,或是在启动 Hexo 服务器时加上 `-p` 选项。
```
$ hexo server -p 5000
```
## 插件安装问题
```
npm ERR! node-waf configure build
```
当您尝试安装以 C/C++ 或其他非 JavaScript 语言所编写的插件时,可能会遇到此类问题,请确认您已经在电脑上安装相对应的编译器。
## DTrace 错误 (Mac OS X)
```
{ [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' }
```
DTrace 安装可能有错误 , 使用下列命令:
```
$ npm install hexo --no-optional
```
参考 [#1326](https://github.com/hexojs/hexo/issues/1326#issuecomment-113871796)
## 在 Jade 或 Swig 遍历资料
Hexo 使用 [Warehouse](https://github.com/tommy351/warehouse) 存储资料,它不是一般数组所以必须先进行类型转型才能遍历。
```
{% for post in site.posts.toArray() %}
{% endfor %}
```
## 资料没有更新
有时资料可能没有被更新,或是生成的文件与修改前的相同,您可以尝试清除缓存并再执行一次。
```
$ hexo clean
```
## 泄露(Escape)内容
Hexo 使用 [Nunjucks](http://mozilla.github.io/nunjucks/) 来解析文章(旧版本使用 [Swig](http://paularmstrong.github.io/swig/),两者语法类似),内容若包含 `{{ }}` 或 `{% %}` 可能导致解析错误,您可以用 `raw` 标签包裹来避免潜在问题发生。
```
{% raw %}
Hello {{ sensitive }}
{% endraw %}
```
## ENOSPC 错误 (Linux)
运行 `$ hexo server` 命令有时会返回这样的错误:
```
Error: watch ENOSPC ...
```
它可以用过运行 `$ npm dedupe` 来解决,如果不起作用的话,可以尝试在 Linux 终端中运行下列命令:
```
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
```
这将会提高你能监视的文件数量。
- 文档
- 开始使用
- 概述
- 建站
- 配置
- 指令
- 迁移
- 基本操作
- 写作
- Front-matter
- 标签插件(Tag Plugins)
- 资源文件夹
- 数据文件
- 服务器
- 生成文件
- 部署
- 自定义
- 永久链接(Permalinks)
- 主题
- 模版
- 变量
- 辅助函数(Helpers)
- 国际化(i18n)
- 插件
- 其他
- 问题解答
- 贡献
- API
- 核心
- 概述
- 事件
- 局部变量
- 路由
- Box
- 渲染
- 文章
- 脚手架(Scaffold)
- 主题
- 扩展
- 控制台(Console)
- 部署器(Deployer)
- 过滤器(Filter)
- 生成器(Generator)
- 辅助函数(Helper)
- 迁移器(Migrator)
- 处理器(Processor)
- 渲染引擎(Renderer)
- 标签插件(Tag)