rubygems update在OSX上打破了ruby

时间:2011-04-04 21:40:05

标签: ruby macos rubygems

我在运行一些Ruby脚本时遇到了一些麻烦。在尝试运行这些脚本时,我尝试了很多不同的东西以及更新rubygems,因为我认为这可能是问题所在。从那时起,我无法运行任何Ruby脚本。

我认为如果我可以将rubygems还原为原始版本,我可能会再次运行Ruby脚本,但我不知道如何。

    $ gem environment
  RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.5
  - RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-10
  - GEM PATHS:
     - /Library/Ruby/Gems/1.8
     - /Users/ryan/.gem/ruby/1.8
     - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/

    $ ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10]

    $ which -a ruby
/opt/local/bin/ruby
/opt/local/bin/ruby
/usr/bin/ruby
/usr/local/bin/ruby

    $ which -a gem
/usr/bin/gem
/usr/local/bin/gem

感谢您提前提供任何帮助。

赖安

$ ruby spidr_start_at.rb 
spidr_start_at.rb:1:in `require': no such file to load -- rubygems (LoadError)
    from spidr_start_at.rb:1

$ cat spidr_start_at.rb 
require 'rubygems'
require 'uri'
require 'spidr'

url = 'http://www.ethicalhack3r.co.uk'

puts "Spidr.start_at()"
puts

Spidr.start_at(url, :depth => 1) do |spider|

 spider.every_page do |page|
  puts page.url.to_s
 end

end

2 个答案:

答案 0 :(得分:0)

对于降级Rubygems,您可以执行以下操作:

sudo gem update --system VERSION

你显然必须在那里放一个真正的版本。

答案 1 :(得分:0)

您似乎安装了多个版本的ruby(和gem)。建议在维护多个ruby版本时使用rvm。或者清理你的错误/旧/不需要的装置。