Foreman在Windows上启动失败,遵循Heroku教程

18

我正在跟随Heroku/Facebook集成的教程(但我怀疑这个问题与Facebook集成无关),我卡在了启动foreman的阶段(我已经安装了Windows版的Heroku installbelt,其中包括foreman):

> foreman start

给出:

C:/RailsInstaller/Ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find foreman (>= 0) amongst [POpen4-0.1.4, Platform-0.4.0, ZenTest-4.6.2, abstract-1.0.0, actionm
ailer-3.0.11, actionmailer-3.0.9, actionpack-3.0.11, actionpack-3.0.9, activemodel-3.0.11, activemodel-3.0.9, activerecord-3.0.11, activerecord-3.0.9, activerecord-sqlserver-adapter-3.0.15, activereso
urce-3.0.11, activeresource-3.0.9, activesupport-3.0.11, activesupport-3.0.9, addressable-2.2.6, annotate-2.4.0, arel-2.0.10, autotest-4.4.6, autotest-growl-0.2.16, autotest-rails-pure-4.1.2, autotest
-standalone-4.5.8, builder-2.1.2, bundler-1.0.15, diff-lcs-1.1.3, erubis-2.6.6, factory_girl-1.3.3, factory_girl_rails-1.0, faker-0.3.1, gravatar_image_tag-1.0.0.pre2, heroku-2.14.0, i18n-0.5.0, json-
1.6.1, launchy-2.0.5, mail-2.2.19, mime-types-1.17.2, mime-types-1.16, nokogiri-1.5.0-x86-mingw32, open4-1.1.0, pg-0.11.0-x86-mingw32, polyglot-0.3.3, polyglot-0.3.1, rack-1.2.4, rack-1.2.3, rack-moun
t-0.6.14, rack-test-0.5.7, rails-3.0.11, rails-3.0.9, railties-3.0.11, railties-3.0.9, rake-0.9.2.2, rake-0.8.7, rb-readline-0.4.0, rdoc-3.11, rdoc-3.8, rest-client-1.6.7, rspec-2.6.0, rspec-core-2.6.
4, rspec-expectations-2.6.0, rspec-mocks-2.6.0, rspec-rails-2.6.1, rubygems-update-1.8.11, rubyzip-0.9.4, rubyzip2-2.0.1, spork-0.9.0.rc8-x86-mingw32, sqlite3-1.3.3-x86-mingw32, sqlite3-ruby-1.3.3, te
rm-ansicolor-1.0.7, thor-0.14.6, tiny_tds-0.4.5-x86-mingw32, treetop-1.4.10, treetop-1.4.9, tzinfo-0.3.31, tzinfo-0.3.29, webrat-0.7.1, will_paginate-3.0.pre2, win32-api-1.4.8-x86-mingw32, win32-open3
-0.3.2-x86-mingw32, win32-process-0.6.5, windows-api-0.4.0, windows-pr-1.2.1, zip-2.0.2] (Gem::LoadError)
        from C:/RailsInstaller/Ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
        from C:/RailsInstaller/Ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems.rb:1210:in `gem'
        from C:/Program Files (x86)/ruby-1.9.3/bin/foreman:18

由于我完全是个新手,我不确定我的问题是否与Error on 'foreman start' while following the Python/Flask Heroku tutorial重复(因为它并不完全相同)。如果是这样,有人有在Windows上部署开发环境的方法吗(用于Heruko、Python、Facebook应用程序)?还是我应该使用Ubuntu?

谢谢

2个回答

28

尽管这个问题似乎没有引起任何人的兴趣(2小时内只有5次浏览,0个答案,0个评论...),但我已经找到了解决办法,并准备与任何遇到此问题的人分享:

  1. rubyinstaller.org安装最新的Ruby(1.9.3-p194)-有时同一版本的安装存在冲突,在我的情况下,我只卸载了所有版本的Ruby,但如果你已经安装了需要旧版本的其他应用程序,则必须更加小心。

  2. 在命令行提示符中调用ruby -v, 并获得ruby 1.9.3p194 (2012-04-20) [i386-mingw32]来检查系统是否默认使用此版本(您可能需要关闭并重新打开cmd以包含新的环境变量)。

  3. 仍然在 cmd 中,调用:

    gem install foreman
    gem install taps
    
    现在进入你的 Procfile 应用程序(例如,来自教程的 Heroku 示例应用程序),并执行 foreman start 命令,你应该会看到类似于以下的内容:
    18:23:52 web.1  | started with pid 7212
    18:23:54 web.1  |  * Running on http://0.0.0.0:5000/
    18:23:54 web.1  |  * Restarting with reloader 
    

2
我知道感谢评论有点过时了,但还是要谢谢你。我有几个版本的Ruby在我的电脑上,我没有意识到我的开发环境这么混乱。最终我不得不卸载并手动清理Ruby目录和环境变量,然后重新安装hereoku工具包。 - paulecoyote
3
@newe1344 https://dev59.com/M2Up5IYBdhLWcg3wRF6c - Ben
@newe1344 http://github.com/ddollar/foreman/issues/348 - 真是令人震惊,他们在工具包中包含了一个损坏的foreman版本。 - Rob Grant

4
在我手动将Ruby路径添加到系统PATH环境变量(Win 7)后,它仍然无法正常工作。我不得不更改Heroku的默认安装路径,从 C:\Program Files(x86)\Heroku 改为 C:\Heroku 因为它不能正确处理路径中的空格。我还尝试过 C:\PROGRA~2\Heroku\ruby-1.9.2\bin,但没有成功。我想任何没有空格的路径都可以。希望对你有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接