J'essayais de courir
heroku run rake db:migrate
Et recevait l'erreur
Impossible d'exécuter plus d'un dynos de taille libre . Voir ci-dessous pour savoir comment réparer ...
La solution consiste à rechercher les sessions heroku ouvertes (vous pouvez utiliser «heroku ps», comme le souligne john ci-dessous). Dans mon cas, j'avais déjà démarré une session de console heroku 30 minutes plus tôt et je l'avais simplement oublié. Donc, si vous voyez l’erreur "Ne peut pas exécuter plus d’un dynos de taille libre", fermez n’importe quelle console existante ou toute autre session heroku que vous avez ouverte.
J'espère que cela épargnera à quelqu'un les dix minutes qu'il m'a fallu pour reprendre conscience.
Plus Efective
en mode console:
heroku ps
le résultat est comme ça:
run.4859 (Free): up 2016/01/12 21:28:41 (~ 7m ago): Rails c
Les numéros 4859 représentent donc la session ouverte et doit être fermée. Pour corriger l'erreur que vous devez exécuter (évidemment, remplacez le nombre 4859 par le nombre obtenu):
heroku ps:stop run.4859
C'est une solution très simple.
Avait exactement le même problème et est venu à cette page. Après avoir lu réalisé ce qui se passait mais je veux ajouter ce qui suit.
juste courir
heroku kill DYNO --app your_app_name
Après cela, fermez toutes les consoles ouvertes.
Ensuite, lancez la commande db migrate, cela fonctionnera.
Dans mon cas, j'ai exécuté heroku ps:restart
pour redémarrer all dynos et la commande heroku run *
a fonctionné à nouveau.
Exemples
Si vous avez juste une télécommande Git pour Heroku, utilisez ceci:
heroku ps:restart && heroku run *
Si vous avez plusieurs télécommandes Git pour Heroku, utilisez ceci:
heroku ps:restart --remote your-remote-name && heroku run * --remote your-remote-name
OR
heroku ps:restart --app your-heroku-app-name && heroku run * --app your-heroku-app-name
Remplacez *
par votre commande, par exemple. console
pour la console Rails.
Ce que je voulais dire par your-heroku-app-name
est le sous-domaine de votre application Heroku. Par exemple, si l'URL de votre application est https://cute-cat.herokuapp.com
, cela signifie que your-heroku-app-name
est cute-cat
.
Si vous n'êtes pas sûr/avez oublié le nom de votre télécommande Git pour Heroku, git remote -v
peut vous aider.
Exemple:
$ git remote -v
this-is-the-remote-name https://git.heroku.com/xxx.git (fetch)
this-is-the-remote-name https://git.heroku.com/xxx.git (Push)
this-is-another-remote-name https://git.heroku.com/yyy.git (fetch)
this-is-another-remote-name https://git.heroku.com/yyy.git (Push)