41

我一直在尝试完成本教程,但遇到了foreman start线路问题。我正在使用 Windows 7、64 位机器,并试图在 Heroku Toolbelt 提供的 git bash 终端中执行此操作。

当我进入时,foreman start我收到:

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

因此,我尝试通过键入cmd然后使用在 git bash 中输入 cmd foreman start(类似于对这个问题的答案之一的评论)。这就是产生的结果:

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

我不知道第二组错误试图告诉我什么,因为它似乎声称 engine.rb 正在运行的文件位置在我的计算机上甚至都不存在。

我已经查看了类似问题的其他答案,但是我没有收到类似的错误,因此不相信目前存在解决我的问题的方法。

4

4 回答 4

70

我有这个问题。我通过卸载 0.62 版的工头 gem 并安装 0.61 来修复它。

gem uninstall foreman
gem install foreman -v 0.61
于 2013-03-31T03:49:53.140 回答
11

是的,heroku-toolbelt-installer 目前无法正常工作(2013 年 8 月 30 日)。对于 Windows,以下步骤对我有用:

  1. 卸载heroku(通过Windows“程序卸载”)
  2. 将 heroku https://toolbelt.heroku.com/windows安装到 C:\bin\heroku 中,即“无空格”
  3. 从http://rubyinstaller.org/downloads/安装 ruby
  4. 在 cmd 中运行“gem install foreman -v 0.61”。是的,“gem install foreman”安装了 v0.63,这对于“foreman start”不起作用
  5. 在 cmd "foreman start" 中适用于 heroku hello-world 示例
于 2013-08-30T00:58:10.403 回答
6

例如,卸载 heroku 工具带并将其重新安装到其中没有空格的路径C:\heorku\会有所帮助。除此之外,heroku windows 安装程序目前已经严重损坏,这对我们来说并不是一件值得骄傲的事情。要解决工头的问题,您可以设置自己使用的环境变量export VAR=VALUE,然后使用您在 procfile 中输入的任何命令运行您的应用程序。

这将在未来得到改善。

于 2013-03-27T21:20:15.027 回答
0

gem install foreman -v 0.61要添加的一件事是,如果您将 Heroku 安装到带有空格的目录中,那么当您尝试执行操作时(在 Windows 上)也会导致错误。

一旦我将 Heroku 重新安装到 C:\Heroku 而不是 C:\Program Files\Heroku 然后我就可以使用 Eric Speelman 的上述解决方案来完成这项工作。

于 2014-06-04T14:58:01.340 回答