在使用 Hexo 時,您可能會遇到一些問題,下列的常見問題解答可能會對您有所幫助。如果您在這里找不道解答,可以在 GitHub 或 Google Group 上提問。
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"
請確認(rèn)您使用空格進(jìn)行縮進(jìn)(Soft tab),并確認(rèn)冒號后有加上一個空格。
您可參閱 YAML 規(guī)范 以取得更多信息。
Error: EMFILE, too many open files
雖然 Node.js 有非阻塞 I/O,同步 I/O 的數(shù)量仍被系統(tǒng)所限制,在生成大量靜態(tài)文件的時候,您可能會碰到 EMFILE 錯誤,您可以嘗試提高同步 I/O 的限制數(shù)量來解決此問題。
$ ulimit -n 10000
fatal: 'username.github.io' does not appear to be a git repository
請確認(rèn)您已經(jīng)在電腦上 配置 git,或改用 HTTPS 庫(repository)地址。
Error: listen EADDRINUSE
您可能同時開啟兩個 Hexo 服務(wù)器,或者有其他應(yīng)用程序正在占用相同的端口,請嘗試修改 port 參數(shù),或是在啟動 Hexo 服務(wù)器時加上 -p 選項(xiàng)。
$ hexo server -p 5000
npm ERR! node-waf configure build
當(dāng)您嘗試安裝以 C/C++ 或其他非 JavaScript 語言所編寫的插件時,可能會遇到此類問題,請確認(rèn)您已經(jīng)在電腦上安裝相對應(yīng)的編譯器。
Hexo 使用 Warehouse 存儲資料,它不是一般數(shù)組所以必須先進(jìn)行類型轉(zhuǎn)型才能遍歷。
{% for post in site.posts.toArray() %}
{% endfor %}
有時資料可能沒有被更新,或是生成的文件與修改前的相同,您可以嘗試清除緩存并再執(zhí)行一次。
$ hexo clean
Hexo 使用 Nunjucks 來解析文章(舊版本使用 Swig,兩者語法類似),內(nèi)容若包含 {{ }} 或 {% %} 可能導(dǎo)致解析錯誤,您可以用 raw 標(biāo)簽包裹來避免潛在問題發(fā)生。
{% raw %}
Hello {{ sensitive }}
{% endraw %}