Обновление rubygems сломало ruby ​​на OSX - PullRequest
1 голос
/ 05 апреля 2011

У меня возникли проблемы с запуском некоторых скриптов на 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 голосов
/ 05 апреля 2011

Похоже, у вас установлено несколько версий ruby ​​(и gem).Рекомендуется использовать rvm при поддержке нескольких версий ruby.Или очистите ваши неправильные / старые / ненужные установки.

0 голосов
/ 05 апреля 2011

Для понижения уровня Rubygems вы можете сделать следующее:

sudo gem update --system VERSION

Вы, очевидно, должны поместить туда настоящую версию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...