web-dev-qa-db-fra.com

Impossible de démarrer contremaître dans Heroku Tutorial avec Python

J'ai essayé de compléter ce tutoriel , mais j'ai rencontré un problème avec la ligne foreman start. J'utilise une machine Windows 7, 64 bits et j'essaie de le faire dans le terminal git bash fourni par Heroku Toolbelt.

Lorsque je saisis foreman start je reçois:

sh.exe": /c/Program Files (x86)/Heroku/Ruby-1.9.2/bin/foreman: "c:/Program: bad
interpreter: No such file or directory

J'ai donc essayé d'entrer le cmd dans git bash en tapant cmd, puis en utilisant foreman start (semblable à un commentaire sur l'une des réponses à cette question suggère). Voici ce que cela a produit:

Bad file descriptor
c:/Program Files (x86)/Heroku/Ruby-1.9.2/lib/Ruby/gems/1.9.1/gems/foreman-0.62.0
/lib/foreman/engine.rb:377:in `read_nonblock'
c:/Program Files (x86)/Heroku/Ruby-1.9.2/lib/Ruby/gems/1.9.1/gems/foreman-0.62.0
/lib/foreman/engine.rb:377:in `block (2 levels) in watch_for_output'
c:/Program Files (x86)/Heroku/Ruby-1.9.2/lib/Ruby/gems/1.9.1/gems/foreman-0.62.0
/lib/foreman/engine.rb:373:in `loop'
c:/Program Files (x86)/Heroku/Ruby-1.9.2/lib/Ruby/gems/1.9.1/gems/foreman-0.62.0
/lib/foreman/engine.rb:373:in `block in watch_for_output'
21:06:08 web.1  | exited with code 1
21:06:08 system | sending SIGKILL to all processes

Je n'ai aucune idée de ce que le second ensemble d'erreurs tente de me dire, car l'emplacement du fichier sur lequel il semble prétendre que engine.rb est en cours d'exécution n'existe même pas sur mon ordinateur.

J'ai examiné d'autres solutions à des problèmes similaires, mais je ne reçois pas d'erreurs similaires et je ne crois donc pas qu'il existe actuellement de solution à mon problème.

41
user1167662

J'ai eu ce problème. Je l'ai corrigé en désinstallant la version 0.62 de la gem Foreman et en installant la 0.61.

gem uninstall foreman
gem install foreman -v 0.61
70
Eric Speelman

Oui, heroku-toolbelt-installer ne fonctionne pas correctement pour le moment (30 août 2013) . Pour Windows, les étapes suivantes ont fonctionné pour moi:

  1. désinstaller heroku (via Windows 'programme de désinstallation') 
  2. installer heroku https://toolbelt.heroku.com/windows dans C:\bin\heroku, c.-à-d. 'aucun espace'
  3. installer Ruby à partir de http://rubyinstaller.org/downloads/
  4. dans cmd, exécutez "gem install foreman -v 0.61". Oui, "gem install foreman" installé v0.63, qui ne fonctionne pas pour "foreman start"
  5. dans cmd "contremaître début" fonctionne pour l'exemple heroku hello-world
11
Dmitry Konovalov

Désinstallez heroku toolbelt et réinstallez-le dans un chemin ne contenant pas d’espace, par exemple C:\heorku\, cela vous aidera un peu. En dehors de cela, l’installateur de fenêtres heroku est horriblement brisé pour le moment, ce n’est pas vraiment un motif de fierté pour nous. Pour contourner le problème avec Foreman, vous pouvez définir vous-même les variables d'environnement à l'aide de export VAR=VALUE, puis exécuter votre application à l'aide des commandes que vous avez placées dans votre fichier proc.

Cela va s'améliorer à l'avenir.

6
Eric Fode

Une chose à ajouter est que si vous installez Heroku dans un répertoire avec des espaces, cela provoquera également une erreur lorsque vous essayez de faire gem install foreman -v 0.61 (sous Windows).

Une fois que j'avais réinstallé Heroku dans C:\Heroku à la place de C:\Program Files\Heroku, j'ai alors été en mesure de faire ce travail en utilisant la solution d'Eric Speelman ci-dessus.

0
cs_stackX