Heroku - 如何修复 "cannot load such file -- foreman/cli (LoadError)" ? - [Java, Windows, Ruby-on-rails]

Heroku - How to fix "cannot load such file -- foreman/cli (LoadError)" ? - [Java, Windows, Ruby-on-rails]

我正在学习官方 Heroku Java 教程:

Getting Started with Java on Heroku

我已经成功完成了

之前的每一步

Run the app locally

运行这一步描述的命令:

foreman start web

Windows 需要使用特定的 Procfile:

foreman start web -f Procfile.windows

我收到以下错误:

C:\Users\Andrea>foreman start web -f Procfile.windows
C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.r
b:36:in `require': cannot load such file -- foreman/cli (LoadError)
        from C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/cus
tom_require.rb:36:in `require'
        from C:/Program Files (x86)/Heroku/bin/foreman:8:in `<main>'

是什么原因造成的问题,我该如何解决?

错误的原因是:

Foreman does not work if your installation of Heroku has any special characters or spaces in any directory name or in directory Hierarchy

(感谢 @theajaygupta for finding the solution

由于 Heroku Toolbelt for Windows 安装默认 Heroku 路径为

C:\Program Files (x86)\Heroku

,遵循 Windows 教程的每个人都会遇到此错误。

解决方法很简单:重新安装 Heroku Toolbelt for Windows指定路径没有空格和特殊字符。例如:

有效

  • C:\Heroku
  • C:\SeemsLegitIn2015\Heroku

无效

  • C:\Program Files (x86)\Heroku
  • C:\Progra~2\Heroku

感谢@AndreaLigios 在 Whosebug 上发布我的解决方案。

@Gespejo 遇到的问题来自 GitHub:

I installed heroku in the c:\Heroku directory but it's still not working. Can you help me? Thanks

C:>foreman
C:/Heroku/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require': 
cannot load such file -- foreman/cli(LoadError) from C:/Heroku/ruby-1.9.3/lib/ruby/
site_ruby/1.9.1/rubygems/custom_requi re.rb:36:inrequire' from C:/Heroku/bin/foreman:8:in 

按照以下步骤操作:

  • 从您的计算机中完全卸载 Heroku Toolbelt
  • 使用命令 gem uninstall 'foreman'.
  • 卸载工头 gem
  • 现在再次安装Heroku Toolbelt
  • 通过 运行 命令 foreman 检查 foreman 现在是否工作,它将列出 foreman
  • 支持的所有命令选项

如果执行上述步骤后问题已解决,请告诉我们。