2012-10-23 106 views
1

我试图在Mac OSX 10.5.8上更新我的Rubygems。目前运行1.0.1。我从https://rubygems.org/pages/download下载了v.8.24。在Mac 10.5.8上安装/更新RubyGems

,因为他们说CD'd解压的文件夹,比这走了出来:

macbook-10:~ sergehonderdos$ cd ~/Desktop/rubygems-1.8.24 
macbook-10:rubygems-1.8.24 sergehonderdos$ sudo ruby setup.rb 
Password: 
./lib/rubygems.rb:335: warning: parenthesize argument(s) for future version 
./lib/rubygems.rb:517: warning: parenthesize argument(s) for future version 
./lib/rubygems.rb:32:in `require': ./lib/rubygems/deprecate.rb:54: syntax error, unexpected ',', expecting '|' (SyntaxError) 
... define_method name do |*args, &block| # TODO: really works ... 
          ^
./lib/rubygems/deprecate.rb:55: syntax error, unexpected tCONSTANT, expecting '}' 
./lib/rubygems/deprecate.rb:64: syntax error, unexpected kEND, expecting '}' 
./lib/rubygems/deprecate.rb:69: syntax error, unexpected kEND, expecting '}' 
    from ./lib/rubygems.rb:32 
    from setup.rb:27:in `require' 
    from setup.rb:27 
macbook-10:rubygems-1.8.24 sergehonderdos$ gem -v 
1.0.1 

我尝试更新的原因是安装指南针。

我不知道哪里出了问题,有什么解决办法?

+0

安装了哪个版本的ruby? 'ruby setup.rb'适用于1.9.3和1.8.7(使用'rvm'安装)。一种可能的解决方案可能是彻底卸载RUBYGEMS并重试。参考:[卸载RUBYGEMS](http://lists.rubyonrails.org/pipermail/rails/2006-May/038251.html) –

+0

macbook-10:〜sergehonderdos $ ruby​​ -v ruby​​ 1.8.6(2009-06- 08 patchlevel 369)[universal-darwin9.0] 我听说过RVM,它比较容易,但我不知道它是什么... –

+0

行;所以可能是因为ruby版本为'1.8.6'(我将在安装1.8.6版本后再试一次。)任何你不想将ruby版本升级到1.8.7的原因?甚至更好的1.9.3?还可以开始使用'rvm',以便安装多个版本的ruby。查看http://railscasts.com/episodes/200-rails-3-beta-and-rvm?view=asciicast获取关于更新ruby&rvm的一些指导。 [rvm文档](https://rvm.io/rvm/basics/)也非常有帮助。 –

回答

1

我能够通过在安装有rvm的我的机器上安装ruby 1.8.6来重现此行为。确认rubygems 1.8.24版本与ruby 1.8.6版本不兼容。

可能有某种方法可以安装与1.8.6兼容的以前版本的rubygems,但我认为这是一项复杂的任务。大多数红宝石组件会提前与新版本的红宝石兼容(1.8.7或1.9.3)

处理此问题的最佳方法是升级ruby版本。