1

我是 ruby​​ 新手,我想在 ruby​​ 中设置一个新的 hello 应用程序,但我总是收到这个错误:(我正在使用 osx,山狮),该怎么办?

rails new hello /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:777:in report_activate_error': RubyGem version error: rack(1.5.2 not ~> 1.4.5) (Gem::LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:211:inactivate' 来自 /System/Library/Frameworks/Ruby.framework/Versions/1.8 /usr/lib/ruby/1.8/rubygems.rb:246:in activate' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:ineach' 来自 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:inactivate' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in激活'来自/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in each' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:inactivate'来自/System/Library/Frameworks/Ruby.framework/Versions/1.8/ usr/lib/ruby/1.8/rubygems.rb:1056:in `gem' from /usr/bin/rails:18

4

2 回答 2

2

您需要更新您的宝石:

sudo gem update

但是,如果您也更新您的 ruby​​,您也会更快乐。有多种方法可以做到这一点,但我特别喜欢rbenv,你可以在 github 上找到。如果您安装rbenv了它的插件ruby-build,您可以要求rbenv在单个命令中下载并安装更高版本的 ruby​​。请注意,您需要先安装 Xcode,包括 Xcode 命令行工具。

事实上,我只是尝试过这个并且它有效。我使用rbenvruby-build在 Mountain Lion 上新安装了 Ruby 2.0,如下所述:

http://www.aeth.com/nonblog/stories/ruby2onmountainlion.html

我将 rbenv 切换为使用 ruby​​ 2.0。不过,这不包括rails,所以我做了gem install rails。最后,我说:.rbenv/shims/rails new hello它奏效了。(我必须指定这样的路径的唯一原因是我在所有的兴奋中忘记了做一个rbenv rehash。愚蠢的我。)

所以这必须有效,因为我只是在你提出问题的时间和我写这个答案的时间之间实时做到了!

于 2013-05-15T00:25:25.203 回答
0

您使用的 ruby​​ 版本似乎不支持您的 rack 版本。看起来您正在使用 ruby​​ 1.8,它已经过时了。我会尝试返回并使用 1.9.3 或 ruby​​ 2.0,这可能会解决您的问题。此外,就文本编辑器而言,我会使用 Sublime Text... http://www.sublimetext.com/2它比 TextMate 有更多的快捷方式。

于 2013-05-15T03:57:06.487 回答