No caso de você ter problemas com o uso do Hexo, aqui está uma lista de soluções para alguns dos problemas mais frequentes. Se esta página não ajudar a resolver seu problema, tente fazer uma pesquisa no nosso GitHub ou no nosso Google Group.
YAML Parsing Error
JS-YAML: incomplete explicit mapping pair; a key node is missed at line 18, column 29: |
Wrap the string with quotations if it contains colons.
JS-YAML: bad indentation of a mapping entry at line 18, column 31: |
Certifique-se de que está usando indentação por espaço (soft tabs) e adicione um espaço após os dois pontos.
Para mais informações, veja YAML Spec.
EMFILE Error
Error: EMFILE, too many open files |
Embora o Node.js tenha I/O não bloqueante, o número máximo de I/O síncronas ainda é limitado pelo sistema. Você pode encontrar um erro EMFILE ao tentar gerar uma grande quantidade de arquivos. Você pode tentar executar o seguinte comando para aumentar o número de operações de I/O síncronas permitidas.
$ 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
Processos com Pouca Memória
Quando você encontrar esse erro durante a geração:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory |
Aumente o tamanho da memória heap do Node.js alterando a primeira linha de hexo-cli
(o comando which hexo
encontra o arquivo).
#!/usr/bin/env node --max_old_space_size=8192 |
Out of memory while generating a huge blog · Issue #1735 · hexojs/hexo
Problemas de Deploy com Git
RPC failed
error: RPC failed; result=22, HTTP code = 403 |
Certifique-se de ter configurado o git corretamente no seu computador ou tente usar a URL HTTPS do repositório ao invés da URL SSH.
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
Problemas de Servidor
Error: listen EADDRINUSE |
Você pode ter iniciado dois servidores do Hexo ao mesmo tempo ou pode haver outro aplicativo usando a mesma porta. Tente modificar a configuração port
ou iniciar o servidor do Hexo com o argumento -p
.
$ hexo server -p 5000 |
Problemas na Instalação de Plugins
npm ERR! node-waf configure build |
Este erro pode ocorrer ao tentar instalar um plugin escrito em C, C++ ou outra linguagem diferente de JavaScript. Verifique se você instalou o compilador correto em seu computador.
Error com DTrace (Mac OS X)
{ [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' } |
A instalação do DTrace pode ter problemas, use isso:
$ npm install hexo --no-optional |
Veja a issue #1326 no Github.
Iterando o Modelo de Dados em Jade ou Swig
A Hexo usa [Warehouse][] para o seu modelo de dados. Ele não é um array, então você pode ter que transformar objetos em iteráveis.
{% for post in site.posts.toArray() %} |
Dados não Atualizados
Alguns dados não podem ser atualizados ou os arquivos recém-gerados são idênticos aos da última versão. Limpe o cache e tente novamente.
$ hexo clean |
Nenhum Comando é Executado
Quando você não consegue executar nenhum comando do Hexo, com exceção de help
, init
e version
, isso pode estar acontecendo pela falta do hexo
no package.json
:
{ |
Conteúdo Escapando
O Hexo usa [Nunjucks][] para renderizar posts ([Swig][] foi usado na versão mais antiga, que compartilha uma sintaxe semelhante). O conteúdo delimitado com {{ }}
ou {% %}
será “parseado” e pode causar problemas. Você pode empacotar um conteúdo sensível com a tag plugin raw
, 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)
Às vezes, ao executar o comando $ hexo server
é retornado o seguinte erro:
Error: watch ENOSPC ... |
Isto pode ser consertado através do comando $ npm dedupe
ou, se isso não funcionar, tente o seguinte comando no terminal do Linux:
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p |
Isso aumentará o limite do número de arquivos que você pode assistir.
EMPERM Error (Windows Subsystem for Linux)
Ao executar $ hexo server
em um ambiente BashOnWindows, ele retorna o seguinte erro:
Error: watch /path/to/hexo/theme/ EMPERM |
Infelizmente, o WSL (Windows Subsystem for Linux) atualmente não suporta os observadores (watchers) do sistema de arquivos. Portanto, o recurso de atualização em tempo real do servidor do Hexo não está disponível no momento. Contudo, ainda é possível executar o servidor a partir de um ambiente WSL, primeiro gere os arquivos e depois execute servidor em modo estático:
$ hexo generate |
Este é um problema no BashOnWindows conhecido, e em 15 de agosto de 2016, a equipe do Windows disse que eles trabalhariam nisso. Você pode obter atualizações de progresso e encorajá-los a priorizá-lo na página UserVoice do problema.
Erro de Renderização de Template
Às vezes, ao executar o comando $ hexo generate
, ele retorna um erro:
FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html Template render error: (unknown path) |
Possible cause:
One possible reason is that 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