Ruby: Dépannage

Vous rencontrez un problème avec votre service Ruby ? La solution se trouve probablement ici !

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution Ruby cloud prête à l'emploi qui offre de nombreux avantages, notamment :

  • Déployez votre application en quelques secondes avec un simple git push.
  • Utilisez votre propre nom de domaine et profitez de la configuration automatique des certificats HTTPS pour une sécurité renforcée.
  • Bénéficiez de la sauvegarde automatique, des mises à jour en un clic et d'une tarification simple, transparente et prévisible.
  • Profitez d'une performance optimale et d'une sécurité renforcée grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Ruby cloud hosting de Stackhero !

Le service d'hébergement cloud Ruby de Stackhero est conçu pour être simple à utiliser, mais il peut arriver que vous rencontriez des problèmes. Vous trouverez ci-dessous des conseils pour résoudre les erreurs les plus courantes.

Cette erreur peut apparaître lors du déploiement :

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.

Ce message indique que le dépôt Git sur votre instance contient des éléments qui ne sont pas présents localement. Pour synchroniser les deux, vous pouvez forcer la mise à jour avec la commande suivante :

git push -f stackhero main

Lorsque vous exécutez git push stackhero main, l'erreur suivante peut apparaître :

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

Cette erreur signifie que la branche main n'existe pas dans votre dépôt. Vous devrez peut-être pousser sur la branche master à la place :

git push stackhero master

Le message Everything up-to-date de Git indique qu'aucune modification n'a été détectée entre votre code local et le dépôt sur Stackhero.

Si vous avez effectué des modifications, assurez-vous qu'elles sont bien enregistrées :

git add -A .
git commit -m "Votre message de commit"
git push stackhero main

Si vous souhaitez déclencher un déploiement sans modification de code, vous pouvez créer un commit vide :

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

Une version améliorée du Makefile est disponible pour gérer automatiquement ce cas. Avec elle, il suffit d'exécuter make deploy pour lancer un déploiement, même sans modification du code.

Cette erreur indique qu'il n'y a pas de Makefile à la racine du projet ou que le Makefile ne contient pas de cible run.

Pour corriger cela, ajoutez un Makefile avec l'exemple suivant :

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

La version améliorée du Makefile peut également vous aider à simplifier vos workflows de développement et de déploiement.

L'erreur *** missing separator dans un Makefile survient généralement lorsqu'un caractère tabulation a été remplacé par des espaces avant une commande. Dans un Makefile, chaque commande doit impérativement commencer par une tabulation.

Pour corriger ce problème, vérifiez que chaque ligne de commande commence bien par une tabulation et non par des espaces :

run:
<tab>command

Remplacez <tab> par une vraie tabulation pour résoudre l'erreur.