我是ruby的新手,我想在ruby中设置一个新的hello应用程序,但我总是得到这个错误:(我正在使用osx,Mountain lion),该怎么办?
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:in
activate'
来自/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:in
每个'
来自/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in activate'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in
activate'
来自/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:in
activate'
来自/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in'gem'
来自/ usr / bin / rails:18
答案 0 :(得分:2)
您需要更新您的宝石:
sudo gem update
但是,如果你也更新你的红宝石,你也会更开心。有很多方法可以做到这一点,但我特别喜欢rbenv
,你可以在github上找到它。如果您安装rbenv
及其插件ruby-build
,则可以要求rbenv
在单个命令中下载并安装更高版本的ruby。请注意,您需要先安装Xcode,包括Xcode命令行工具。
事实上,我只是试过这个并且它有效。我使用rbenv
和ruby-build
在Mountain Lion上新安装了Ruby 2.0,如下所述:
http://www.apeth.com/nonblog/stories/ruby2onmountainlion.html
我将rbenv切换为使用ruby 2.0。但是,这不包括rails
,所以我做了gem install rails
。最后,我说:.rbenv/shims/rails new hello
并且它有效。 (我必须指明这样的道路的唯一原因是,我很遗憾地忘记做rbenv rehash
。傻傻的我。)
所以这必须奏效,因为我只是在您提出问题的时间和我写这个答案的时间之间实时做到了!
答案 1 :(得分:0)
您使用的ruby版本似乎不支持您的机架版本。它看起来像你正在使用ruby 1.8,这已经过时了。我会尝试回去使用1.9.3或ruby 2.0,这可能会解决您的问题。此外,就文本编辑而言,我会选择Sublime Text ... http://www.sublimetext.com/2它有比TextMate更多的快捷方式。