2010-10-28 5 views
1

Я пытаюсь настроить fastri (http://eigenclass.org/hiki/fastri) на emacs, запущенном на cygwin в окнах. Установка ruby ​​также происходит из cygwin, а не из версии Ruby. После загрузки, распаковки архива и запуска setup.rb, когда я пытаюсь запустить QRI или ПТ, я получаю следующее сообщение об ошибке:Невозможно запустить fastri на cygwin: uninitialized constant Gem :: Version (NameError)

[/cygdrive/g]$qri 
/usr/lib/ruby/1.8/rdoc/ri/ri_paths.rb:63: uninitialized constant Gem::Version (NameError) 
    from /usr/lib/ruby/1.8/rdoc/ri/ri_paths.rb:59:in `each' 
    from /usr/lib/ruby/1.8/rdoc/ri/ri_paths.rb:59 
    from /usr/lib/ruby/site_ruby/1.8/fastri/util.rb:38:in `require' 
    from /usr/lib/ruby/site_ruby/1.8/fastri/util.rb:38 
    from /usr/bin/qri:6:in `require' 
    from /usr/bin/qri:6 

Моя версия рубин и гем среды:

[/cygdrive/g]$ruby --version 
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin] 
[/cygdrive/g]$gem environment 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.4 
    - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin] 
    - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8 
    - RUBY EXECUTABLE: /usr/bin/ruby.exe 
    - EXECUTABLE DIRECTORY: /usr/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86-cygwin 
    - GEM PATHS: 
    - /usr/lib/ruby/gems/1.8 
    - /home/rrajagop/.gem/ruby/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://gems.rubyforge.org/ 

Я взглянул на ri_paths.rb, чтобы выяснить, как Gem :: Version должен быть включен в файл, но я не мог понять это. Я попробовал добавить как require 'gem/version', так и require 'version' в ri_paths.rb, но без радости. Я получаю 'require': no such file to load -- version (LoadError)

ответ

1

Хорошо, я, наконец, получил его работу. Добавление require 'rubygems/version' в ri_path.rb исправлено.

В основном, используется puts $:, чтобы выяснить пути, которые требуют будет искать через», узнал, где Gem::Version был определен (я уже был стол преднастроенных тегов для рубина и всех моих драгоценных камней, так что это было легко), и разработал путь к версии из ближайшего компонента пути поиска. Звучит просто, не так ли? Конечно, все это заняло у меня пару дней, рубиновый нуб, который я есть.

Смежные вопросы