Я использую:
- Windows 7
- Ruby 1.8.6 Установщик в один клик
- DBI версии 0.4.3, установленный с использованием RubyGems
Что я вижу при выполнении этих команд:
C:> ruby -v
ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
C:> gem -v
1.3.1
C:> ruby -r rubygems -r dbi -e "ставит DBI :: VERSION"
0.2.2
C:> список драгоценных камней dbi
*** МЕСТНЫЕ КАМНИ **** ***
dbi (0.4.3)
*Среда 1031 * C:> gem
Среда RubyGems:
- ВЕРСИЯ RUBYGEMS: 1.3.1
- ВЕРСИЯ RUBY: 1.8.6 (уровень обновления 2008-08-11287) [i386-mswin32]
- КАТАЛОГ УСТАНОВКИ: C: /Ruby/lib/ruby/gems/1.8
- RUBY EXECUTABLE: C: /Ruby/bin/ruby.exe
- ИСПОЛНЯЕМЫЙ КАТАЛОГ: C: / Ruby / bin
- ПЛАТФОРМЫ RUBYGEMS:
- ДРАГОЦЕННЫЕ ПУТИ:
- C: /Ruby/lib/ruby/gems/1.8
- C: /Users/sutch/.gem/ruby/1.8
- КОНФИГУРАЦИЯ GEM:
- : update_sources => true
- : verbose => true
- : тест => false
- : обратная трассировка => false
- : массовый порог => 1000
- УДАЛЕННЫЕ ИСТОЧНИКИ:
Почему сценарии ruby используют DBI, установленный в site_ruby, а не DBI, установленный с RubyGems?
Обновление для ответа на ответ Луиса Лавены ...
Вот что произошло, когда я попытался сделать то, что вы предлагаете:
C:> ruby -r rubygems -e "требовать" rubygems ";ставит DBI :: VERSION "
-e: 1: неинициализированная константа DBI (NameError)
А когда я обновляюсь, требуя DBI:
C:> ruby -r rubygems -e "требует 'rubygems';требовать 'dbi';ставит DBI :: VERSION "
0.2.2
Почему RubyGems не переопределяет встроенную библиотеку?