14

我正在学习rails,我正在尝试让heroku启动并运行。但是,当我安装 heroku 工具带时,会产生许多错误。如果我尝试运行任何 rails 命令,我会得到如下信息:

C:\Users\Ezra\Desktop\Sites\demo_app>rails -v 
C:/Program Files (x86)/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems.rb:926:in `r
eport_activate_error': Could not find RubyGem railties (>= 0) (Gem::LoadError)
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems
.rb:244:in `activate_dep'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems
.rb:236:in `activate'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems
.rb:1307:in `gem'
    from C:/RailsInstaller/Ruby1.9.3/bin/rails:18:in `<main>'

此外,运行 ruby​​ -v 会给我 ruby​​ 1.9.2p290,即使我安装了 ruby​​ 1.9.3。在尝试解决这个问题时,我发现卸载 ruby​​ 1.9.2p290 会导致我的 ruby​​ 版本简单地恢复到 1.9.3p125,但这样做之后 heroku 不再工作:

C:\Users\Ezra\Desktop\Sites\demo_app>heroku login
'"C:\Program Files (x86)\ruby-1.9.3\bin\ruby.exe"' is not recognized as an inter
nal or external command, operable program or batch file.  

安装heroku toolbelt后的gem环境:

RubyGems 环境:

  • 红宝石版本:1.7.2
    • 红宝石版本:1.9.2(2011-07-09 补丁级别 290)[i386-mingw32]
    • 安装目录:C:/Program Files (x86)/ruby-1.9.3/lib/ruby/gems/1.9.1
    • RUBY 可执行文件:“C:/Program Files (x86)/ruby-1.9.3/bin/ruby.exe”
    • 可执行目录:C:/Program Files (x86)/ruby-1.9.3/bin
    • 红宝石平台:
      • 红宝石
      • x86-mingw32
  • 宝石路径:
    • C:/程序文件 (x86)/ruby-1.9.3/lib/ruby/gems/1.9.1
    • C:/Users/Ezra/.gem/ruby/1.9.1
  • 宝石配置:
    • :update_sources => 真
    • :详细 => 真
    • :基准 => 假
    • :回溯 => 假
    • :bulk_threshold => 1000
  • 远程资源:

卸载ruby1.9.2p290后的Gem环境:

RubyGems 环境:

  • 红宝石版本:1.8.16
  • 红宝石版本:1.9.3(2012-02-16 补丁级别 125)[i386-mingw32]
  • 安装目录:C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1
  • RUBY 可执行文件:C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe
  • 可执行目录:C:/RailsInstaller/Ruby1.9.3/bin
  • 红宝石平台:
    • 红宝石
    • x86-mingw32
  • 宝石路径:
    • C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1
    • C:/Users/Ezra/.gem/ruby/1.9.1
  • 宝石配置:
    • :update_sources => 真
    • :详细 => 真
    • :基准 => 假
    • :回溯 => 假
    • :bulk_threshold => 1000
  • 远程资源:

我正在运行 Windows 7,我没有使用 rvm,因为 cygwin 让我哭了。
任何和所有的建议将不胜感激。

4

6 回答 6

12

这里也是一个新手,试图让heroku运行起来。我今天遇到了完全相同的问题,首先是“找不到 RubyGem railties”问题,然后在卸载 Ruby 1.9.2 后,heroku 的问题不再工作了。我找到了两种解决方法,但不确定其中一种是否很棒。

不要卸载工具带附带的 ruby​​ 版本。相反,要么

(1):将其从 PATH 中删除。对我来说,工具带安装将 c:\program files\ruby1.9.3 添加到我的 PATH 系统变量中。我的用户PATH 变量中已经有 c:\ruby193 (我之前自己安装了 ruby​​) 。在从 PATH 中删除工具带添加的那个之后,事情开始起作用了。
(注意:c:\ruby193 应该放在 c:\program files\heroku\bin int PATH 系统变量之前,否则它将不起作用)

(2): 或者,我将 c:\ruby193 从我的用户PATH 移动到我的系统PATH。重新安装了工具带,现在 ruby​​ 和 heroku 都可以工作了。但是我的 PATH 变量中确实有两个版本的 ruby​​。

不确定这两种方法是否很棒,因为我怀疑我现在安装了两个版本的 ruby​​,并且根据我正在做的事情被使用。但至少让我继续解决下一个问题,现在我一直在尝试安装 heroku 插件。

我认为 ruby​​ on rails 应该让事情变得简单。尝试配置 30 种不同的新工具已经 4 天了(结束咆哮)

于 2012-06-23T19:39:44.160 回答
5

我放弃了 Heroku Toolbelt(卸载了 Heroku 以及它附带的 Ruby 1.9.2 运行时)并改用了 gems:

gem install heroku
gem install foreman
于 2012-10-14T01:12:19.693 回答
2

瑞维亚娜你的回答很好,但是,

您应该担心安装了两个版本的 ruby​​。我是初学者,但我听说这会导致以后出现严重的头痛。

由于 Herokubelt 安装了 ruby​​(1.9.2) 的附加版本,我将从您的用户路径 (Path) 和系统路径 (PATH) 中删除它。然后卸载 ruby​​(1.9.2)。

当我这样做时,rails(1.9.3) 和 heroku 腰带仍在工作。我在带有 rails 1.9.3 的 Windows 7 上

于 2012-11-21T03:10:20.097 回答
1

我建议你在开发 ruby​​ on rails 时使用 linux,我之前在 window 中开发过,它有很多问题,你无法解决(超出你的范围)。此外,当您使用某些 gem 时,某些 gem 配置在您在窗口中时也会有所不同。更改为 linux shld 帮助您更好地进行 ruby​​ on rails 开发:)

于 2012-10-14T04:25:22.683 回答
0

在 Windows 上,我删除了 Ruby 1.9.2(Heroku 安装的)并编辑了 heroku.bat 中的路径以指向现有的 Ruby1.9.3

就我而言,它变成了:

:x64
set HerokuRubyPath=C:\RailsInstaller\Ruby1.9.3
goto launch
于 2012-12-19T23:15:13.653 回答
0

这可能与可执行文件有关......当我输入时:

which heroku

输出是:

/usr/bin/heroku

你应该把它放在你的 $PATH

...   :/usr/bin:  ...

heroku gem 已被贬低,因此请下载“heroku toolbelt”

于 2013-09-03T16:04:03.433 回答