Can't start foreman in Heroku Tutorial using Python

一个人想着一个人 提交于 2019-11-26 22:38:08

问题


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.


回答1:


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



回答2:


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:\bin\heroku , 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



回答3:


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.




回答4:


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 Files\Heroku then I was able to make this work using Eric Speelman's solution above.



来源:https://stackoverflow.com/questions/15399637/cant-start-foreman-in-heroku-tutorial-using-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!