Can't start foreman in Heroku Tutorial using Python

Question:

I have been attempting to complete this tutorial, but have run into a problem with the foreman start line. I am using a windows 7, 64 bit machine and am attempting to do this in the git bash terminal provided by the Heroku Toolbelt.

When I enter foreman start I receive:

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

So I tried entering the cmd in git bash by typing cmd and then using foreman start (similar to a comment on one of the answers to this question suggests). This is what that produced:

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

I have no clue what the second set of errors is trying to tell me, since the file location it seems to claim engine.rb is running from does not even exist on my computer.

I have looked at other answers to similar problems, however I am not receiving similar errors and so do not believe a solution to my problem currently exists.

Asked By: user1167662

||

Answers:

Uninstalling the heroku toolbelt and reinstall it to a path that does not have spaces in it, for example C:heorku will help a bit. Aside from that the heroku windows installer is horribly broken at the moment, not exactly a point of pride for us. To work around the issue with foreman you can set the environment variables your self using export VAR=VALUE and then run your app using what ever commands you put in your procfile.

This is going to improve in the future.

Answered By: Eric Fode

I had this problem. I fixed it by uninstalling version 0.62 of the foreman gem and installing 0.61.

gem uninstall foreman
gem install foreman -v 0.61
Answered By: Eric Speelman

Yes, heroku-toolbelt-installer is not working correctly at present (30-Aug-2013).
For windows the following steps worked for me:

  1. uninstall heroku (via windows ‘program uninstall’)
  2. install heroku https://toolbelt.heroku.com/windows into C:binheroku , i.e. ‘no spaces’
  3. install ruby from http://rubyinstaller.org/downloads/
  4. in cmd run “gem install foreman -v 0.61”. Yes, “gem install foreman” installed v0.63, which does not work for “foreman start”
  5. in cmd “foreman start” works for the heroku hello-world example
Answered By: Dmitry Konovalov

One thing to add is that if you install Heroku to a directory with spaces, that will also cause an error when you try and do gem install foreman -v 0.61 (on Windows).

Once I’d reinstalled Heroku to C:Heroku instead of C:Program FilesHeroku then I was able to make this work using Eric Speelman’s solution above.

Answered By: cs_stackX