# 問題解答
在使用 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)