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: |
Delimite a string com aspas duplas se ela contiver dois pontos (:).
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 |
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
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.
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
.
{% 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 |
Isso significa que existem algumas palavras irreconhecíveis no seu arquivo. Existem duas possibilidades, uma é seu novo page/post, a outra é o _config.yml
.
Em _config.yml
, não esqueça de adicionar espaços em branco antes de uma lista no hash. Existe uma página wiki sobre YAML.
Forma errada:
plugins: |
Forma correta:
plugins: |