Если вы столкнулись с проблемами при использовании Hexo, на этот случай существует эта страница со списком ответов на часто возникающие вопросы. Если она не помогла, попробуйте поискать решение на GitHub или в нашей группе Google Group.
Ошибка обработки YAML
JS-YAML: incomplete explicit mapping pair; a key node is missed at line 18, column 29: |
Заключите строку в кавычки, если она содержит двоеточия.
JS-YAML: bad indentation of a mapping entry at line 18, column 31: |
Убедитесь, что используются табы вместо пробелов, и добавьте пробелы после двоеточий.
Больше информации см. здесь YAML Spec.
Ошибка EMFILE
Error: EMFILE, too many open files |
Хотя Node.js и использует неблокирующий ввод/вывод, максимальное количество одновременных операций I/O по-прежнему ограничено. Можно встретить ошибку EMFILE при попытке создания большого количества файлов. Попробуйте запустить следующую команду, чтобы увеличить количество синхронных операций ввода-вывода:
$ ulimit -n 10000 |
Error: cannot modify limit
If you encounter the following error:
$ ulimit -n 10000 |
It means some system-wide configurations are preventing ulimit
to being increased to a certain limit.
To override the limit:
- Add the following line to “/etc/security/limits.conf”:
* - nofile 10000 |
- The above setting may not apply in some cases, ensure “/etc/pam.d/login” and “/etc/pam.d/lightdm” have the following line. (Ignore this step if those files do not exist)
session required pam_limits.so |
- If you are on a systemd-based distribution, systemd may override “limits.conf”. To set the limit in systemd, add the following line in “/etc/systemd/system.conf” and “/etc/systemd/user.conf”:
DefaultLimitNOFILE=10000 |
- Reboot
process out of memory
Когда вы сталкиваетесь с этой ошибкой во время создания
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory |
Повысить размер динамической памяти Node.js можно, изменив в первой строке hexo-cli
команду (для нахождения местоположения файла используйте which hexo
).
#!/usr/bin/env node --max_old_space_size=8192 |
Заканчивается память при создании большого блога · Issue #1735 · hexojs/hexo (eng)
Проблемы с публикацией в Git
RPC failed
error: RPC failed; result=22, HTTP code = 403 |
Убедитесь, что вы настроили git на своём компьютере. Или можно попробовать использовать вместо репозитория URL-адрес https.
Error: ENOENT: no such file or directory
If you get an error like Error: ENOENT: no such file or directory
it’s probably due to mixing uppercase and lowercase letters in your tags, categories, or filenames. Git cannot automatically merge this change, so it breaks the automatic branching.
To fix this, try
- Check every tag’s and category’s case and make sure they are the same.
- Commit
- Clean and build:
./node_modules/.bin/hexo clean && ./node_modules/.bin/hexo generate
- Manually copy the public folder to your desktop
- Switch branch from your master branch to your deployment branch locally
- Copy the contents of the public folder from your desktop into the deployment branch
- Commit. You should see any merge conflicts appear that you can manually resolve.
- Switch back to your master branch and deploy normally:
./node_modules/.bin/hexo deploy
Проблемы с сервером
Error: listen EADDRINUSE |
Были запущены два сервера Hexo одновременно, или возможно другое приложение использует тот же порт. Попробуйте изменить настройки порта или запустить сервер 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' } |
Проблема в DTrace попробуйте эту команду:
$ npm install hexo --no-optional |
См. также #1326
Iterate Data Model on Jade or Swig
Hexo использует склад [Warehouse][] для своей модели данных. Это не массив, так что его можно использовать для преобразования списка объектов в итераторы.
{% for post in site.posts.toArray() %} |
Данные не обновляются
Некоторые данные не могут быть обновлены или вновь созданные файлы идентичны последней версии. Очистите кэш и попробуйте снова.
$ hexo clean |
No command is executed
When you can’t get any command except help
, init
and version
to work and you keep getting content of hexo help
, it could be caused by a missing hexo
in package.json
:
{ |
Escape Contents
Hexo использует [Nunjucks][] для отображения сообщения ([Swig][] использовался в предыдущей версии, он использует похожий синтаксис). Содержимое, обёрнутое, в {{ }}
или {% %}
, поможет вам разобраться, какая часть вызвала проблемы. You can skip the parsing by wrapping it with the raw
tag plugin, single backtick `{{ }}`
or triple backtick. Alternatively, Nunjucks tags can be disabled through the renderer’s option (if supported), API or front-matter.
{% raw %} |
``` |
ENOSPC Error (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 |
Это позволит увеличить лимит количества файлов, которые можно просматривать одновременно.
EMPERM Error (Windows Subsystem for Linux)
When running $ hexo server
in a BashOnWindows environment, it returns the following error:
Error: watch /path/to/hexo/theme/ EMPERM |
Unfortunately, WSL does not currently support filesystem watchers. Therefore, the live updating feature of hexo’s server is currently unavailable. You can still run the server from a WSL environment by first generating the files and then running it as a static server:
$ hexo generate |
This is a known BashOnWindows issue, and on 15 Aug 2016, the Windows team said they would work on it. You can get progress updates and encourage them to prioritize it on the issue’s UserVoice suggestion page.
Template render error
Sometimes when running the command $ hexo generate
it returns an error:
FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html |
Possible cause:
There are some unrecognizable words in your file, e.g. invisible zero width characters.
Incorrect use or limitation of tag plugin.
- Block-style tag plugin with content is not enclosed with
{% endplugin_name %}
# Incorrect
{% codeblock %}
fn()
{% codeblock %}
# Incorrect
{% codeblock %}
fn()
# Correct
{% codeblock %}
fn()
{% endcodeblock %}- Having Nunjucks-like syntax in a tag plugin, e.g. [`
- Block-style tag plugin with content is not enclosed with