Ghost v4: Como atualizar para a última versão

3 min Ghost v4: Como atualizar para a última versão

Fala pessoal! Hoje (16/03/2021) foi lançada a nova versão do Ghost, a v4. Nesse post super rápido eu vou te mostrar como você pode atualizar o seu blog Ghost hospedado na Digital Ocean (ou em outro servidor, o processo é o mesmo).

Se quiser saber tudo sobre a versão 4 do Ghost, recomendo dar uma olhada nessa página aqui, onde você consegue ver todos os novos recursos e melhorias da versão nova. Já dando um spoiler, tá muito boa e várias funcionalidades que estavam em beta agora estão em stable.

Vou dividir esse post em várias etapas. Para começar, precisamos fazer um backup.

Faça backup

Por prevenção, é recomendado fazer um backup do seu site. Eu atualizei várias vezes o Ghost e nunca tive nenhum problema de perder images ou posts, mas por prevenção, sempre faço um backup básico.

Para fazer o backup, entre no seu Admin, vá em Labs -> Migration Options -> Export your content.

Opções de migração do Ghost
Opções de migração do Ghost

Salve em algum local do seu computador. Se precisar importar o conteúdo, basta clicar em Import content e o Ghost irá fazer o processo sozinho.

Se quiser fazer um backup completo (eu não fiz), siga esse processo aqui. Ah, caso você já tenha membros habilitados no seu site, precisa entrar nas configurações e exportar a lista.

Atualize o seu tema

Se você criou o seu site, esse processo pode ser mais simples. Caso use algum tema da internet (pago ou gratuito), precisa verificar se ele está pronto para a nova versão.

Para verificar isso, faça o download do seu tema (Design -> Installed Themes -> Download) e depois acesse o gscan. Dentro do site, escolha v4 e faça upload do seu tema recém baixado.

A ferramenta irá analisar o código e gerar um relatório sobre quaisquer novos recursos na API do tema Ghost que não estão sendo usados, ou quaisquer recursos antigos que você possa estar usando e que foram descontinuados - para que você possa consertar tudo.

Para o meu site foi super simples, não precisei atualizar nada. Teve só alguns warnings com alterações na API. Além disso, tive alguns problemas com as imagens dos posts (não mostrou nenhum warning sobre isso, mas faz parte).

Edit: consegui corrigir o problema das imagens (link commit).

Relatório do gscan para o meu site
Relatório do gscan para o meu site

ps: a lista de breaking changes está disponível nesse link.

Atualize a CLI do Ghost

O próximo passo é atualizar a CLI do Ghost para a última versão. Para isso, conecte-se no seu servidor usando ssh. O comando deve ser parecido com esse:

ssh [email protected]<IP>

Se você não lembra o o IP, é só olhar no painel da Digital Ocean ou do seu servidor.

Agora, entre no modo sudo e depois instale a última versão usando o NPM.

sudo su
# Coloque a sua senha e depois rode:
npm install -g [email protected]

Instale a última versão do 3.x

Antes de atualizar para a v4, você precisa atualizar para última versão do 3.x. Caso já esteja nela, você pode pular esse passo.

A primeira etapa é sair do modo sudo com o comando exit. Depois precisamos entrar na pasta onde está salvo a instalação do Ghost. A minha fica na padrão (caso tenha mudado, só alterar o caminho).

cd /var/www/ghost
ghost update v3

Caso você veja um erro parecido com esse:

You are recommended to have at least 150 MB of memory available for smooth operation

Tente rodar ghost restart e ghost buster.Se mesmo assim não resolver, rode ghost update v3 --no-mem-check (para pular essa verificação).

Atualize para v4

Esse é o passo mais simples, basta rodar o comando ghost update e proceder com o update. Aparecerá algumas perguntas sobre ver os warnings ou não, mas basta responder e esperar o Ghost finalizar o processo.

Na primeira vez que você entrar no dashboard novo, tem alguns steps para você seguir. Basta responder tudo e depois ter uma linda tela como essa:

Dashboard do site na versão 4
Dashboard do site na versão 4

Conclusão

O post de hoje foi super curto, mas queria mostrar como fiz o processo de atualização do Ghost. Espero ter conseguido te ajudar! Caso tenha alguma dúvida ou problema, coloque aqui nos comentários. Valeu!