Ruby: Resolução de Problemas

Está a encontrar um problema com o seu serviço Ruby? A solução provavelmente está aqui!

👋 Bem-vindo à documentação do Stackhero!

A Stackhero oferece uma solução Ruby cloud pronta a usar que proporciona uma série de benefícios, incluindo:

  • Implemente a sua aplicação em segundos com um simples git push.
  • Utilize o seu próprio nome de domínio e beneficie da configuração automática de certificados HTTPS para uma segurança reforçada.
  • Desfrute de tranquilidade com backups automáticos, atualizações com um clique, e preços simples, transparentes e previsíveis.
  • Obtenha desempenho ótimo e segurança robusta graças a uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: só leva 5 minutos para experimentar a solução de Ruby cloud hosting da Stackhero!

O serviço de alojamento cloud Ruby da Stackhero é concebido para ser fácil de usar, mas podem surgir problemas ocasionalmente. Abaixo, encontrará orientações para resolver erros comuns.

Este erro pode aparecer durante a implementação:

error: failed to push some refs to '[...]'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Esta mensagem indica que o repositório Git na sua instância tem conteúdo que não está presente localmente. Para prosseguir, pode usar o seguinte comando para forçar a sincronização:

git push -f stackhero main

Ao executar git push stackhero main, o seguinte erro pode ocorrer:

error: src refspec main does not match any
error: failed to push some refs to 'ssh://<XXXXXX>.stackhero-network.com:222/project.git'

Este erro sugere que a branch main não existe no seu repositório. Em vez disso, pode precisar de fazer push para a branch master:

git push stackhero master

A mensagem Everything up-to-date do Git indica que não foram detectadas alterações entre o seu código local e o repositório na Stackhero.

Se fez alterações, certifique-se de que estão comprometidas:

git add -A .
git commit -m "A sua mensagem de commit"
git push stackhero main

Se quiser desencadear uma implementação sem quaisquer alterações reais no código, pode criar um commit vazio:

git commit --allow-empty -m "Force update"
git push stackhero main

Uma versão melhorada do Makefile está disponível para tratar este cenário automaticamente. Com ela, pode implementar simplesmente executando make deploy, mesmo sem modificações no código.

Este erro implica que não existe um Makefile no diretório raiz do projeto ou que o Makefile não tem um alvo run.

Para corrigir isto, pode adicionar um Makefile contendo o seguinte exemplo:

run:
	rake assets:precompile
	rake db:migrate RAILS_ENV=production
	RAILS_ENV=production bundle exec puma -C config/puma.rb

Pode achar a versão melhorada do Makefile particularmente útil para simplificar os fluxos de trabalho de desenvolvimento e implementação.

O erro *** missing separator num Makefile ocorre geralmente quando um carácter de tabulação é incorretamente substituído por espaços antes de um comando. Nos Makefiles, os comandos devem sempre começar com um carácter de tabulação.

Para corrigir isto, certifique-se de que cada linha de comando começa com um carácter de tabulação correto em vez de espaços:

run:
<tab>command

Substitua <tab> por um verdadeiro carácter de tabulação para resolver o problema.