Я не могу заставить работать комплект разработки ruby ​​для Windows XP

Так что я не могу на всю жизнь заставить это работать должным образом. Моя конечная цель - установить и работать с гемом dbd-odbc, и из нескольких прочитанных мной материалов мне нужно установить ODBC-привязку для ruby ​​вместе с гемом dbd-odbc. Что ж, я могу установить гем dbd-odbc просто отлично, но когда дело доходит до попытки установить привязку, он вылился на меня так:

Сборка собственных расширений. Это может занять некоторое время...
ОШИБКА: Ошибка установки ruby-odbc-0.9998.gem:
        ОШИБКА: не удалось создать собственное расширение для гема.

c:/tools/ruby/ruby-1.9.1-p376/bin/ruby.exe extconf.rb
проверка для version.h... *** extconf.rb не удалось ***
Не удалось создать Makefile по какой-то причине, вероятно, из-за отсутствия
необходимые библиотеки и / или заголовки. Проверьте файл mkmf.log для более
подробности. Вам могут потребоваться параметры конфигурации.

Предоставляются варианты конфигурации:
        --with-неавтоматического реж
        --without-неавтоматического реж
        --with-неавтоматического включают
        --without-неавтоматического включают =${Блокировщик реж}/ включить
        --with-неавтоматического Пб
        --without-неавтоматического Пб =${неавтоматического реж}/ Lib
        --with-макияж прог
        --srcdir=.
        --curdir
        --ruby= с:/tools/ruby/ruby-1.9.1-p376/bin/ruby
        --with-ODBC-Dir
        --without-ODBC-Dir
        --with-ODBC-включают в себя
        --without-ODBC-включают в себя =${Odbc-Dir}/ включить
        --with-Пб ODBC
        --without-ODBC Пб =${ODBC-DIR}/ Библиотека
c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:364:in 'try_do': компилятору не удалось создать исполняемый файл. (Ошибка выполнения)  
Сначала вы должны установить инструменты разработки.  
        из c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:433: в "try_cpp"
        из c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:811: в блоке в have_header
        из c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:670: в блоке проверки
        из c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:276: в блоке (2 уровня, отложить)
        из c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:250: в "открытом"
        из c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:276: в блоке "отложить"
        из c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:250: в "открытом"
        из c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:272: в "отложить"
        из c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:669: в проверке
        из c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:810: в 'have_header'
        из extconf.rb:22:in ''

Итак... читая это, он говорит, что я должен сначала установить инструменты разработки. Прекрасно и модно. Я иду сюда и беру комплект разработчика. Я брожу здесь и читаю инструкции по его установке. Я устанавливаю это.
На заметку - я попробовал это с установкой 1.9.1 в один клик с сайта установщика ruby. Я пробовал это с предварительно скомпилированными двоичными файлами Ruby mswin-32, под 1.8.6, 1.8.7 и 1.9.1. Никто из них не работал.
Я останусь с установщиком в один клик, так как это то, что, похоже, используются все инструкции, с которыми я сталкиваюсь в Интернете. Хорошо. Это говорит, чтобы отредактировать мой файл fstab. Я делаю. Вот мои текущие настройки:
Моя рубиновая установка сидит в: C:\tools\ruby\ruby19 Devkit был извлечен в этот каталог, и я могу проверить / bin и увидеть там gcc.bat, make.bat и sh.bat.
Я следую инструкциям и изменяю свой файл devkit / msys / 1.0.11 / etc / fstab. Теперь это выглядит так:
C:/tools/ruby/ruby19/devkit/gcc/3.4.5 /mingw C:/tools/ruby/ruby19/devkit/msys/1.0.11/usr/local /usr/local

Независимо от того, что я делаю, я никак не могу получить гем привязки odbc для компиляции с нативными расширениями. Я продолжаю получать ту же ошибку снова и снова. Это очень расстраивает - пожалуйста, помогите!

5 ответов

Решение

Ты убиваешь себя.

Для операционных систем Win32 библиотеки DLL 0.997 доступны в i386-msvcrt-ruby-odbc.zip. Он содержит файлы odbc.so и odbc_utf8.so, которые необходимо скопировать в каталог.../ruby ​​/1.8/i386-msvcrt установок Ruby 1.8 на основе MSVC.

Попробуйте поместить эти файлы туда, где это рекомендуется, затем установите эту версию гема и посмотрите, как она работает.

У меня была очень похожая проблема: я пытался заставить DBI и ODBC работать с Ruby 1.9 в Windows. Ruby 1.8 работал нормально, но в 1.9 было много проблем. Наконец-то получил его на работу.

  1. Удалите все другие версии Ruby, Dev Kit и т. Д. Из моей системы (или просто удалите их где-нибудь). Попытка заставить Dev Kit работать с "грязной" системой вызвала проблемы по какой-то причине... Драгоценные конфликты?
  2. Получите последнюю версию установщика Ruby здесь и установите его.
  3. Получите комплект разработчика с github.com/oneclick/rubyinstaller/wiki/development-kit и следуйте инструкциям.
  4. Получить последнюю версию Ruby ODBC можно по адресу www.ch-werner.de/rubyodbc/. Загрузите его как Ruby gem и сохраните местоположение.
  5. Установите Ruby ODBC gem, выполнив следующую команду: gem install ruby-odbc-0.99994.gem --platform=ruby
  6. Установите DBI: gem install dbi
  7. Установите DBD-ODBC gem: gem install dbd-odbc
  8. Запустите простой тест, вы должны быть в порядке.

Рон, чтобы все это заработало, помнишь ли ты создать новое соединение ODBC в своем источнике данных ODBC?

Для Ruby 1.8 вам не нужно ничего "делать"; размещения этих файлов odbc из i386-msvcrt-ruby-odbc.zip должно быть достаточно (инструкции приведены на ch-werner.de/rubyodbc)

Вы загрузили драгоценные камни dbi & dbd-odbc?

Это работало для меня с рельсами 3 также. Я столкнулся с 2 гочами в процессе. 1. Ruby 1.9.2 не позволил бы мне установить ruby-odbc, поэтому я переключился на 1.8.7. и 2. Для Rails 3 вы должны включить в свой гемфайл следующие строки:

gem 'activerecord-sqlserver-adapter'

драгоценный камень 'ruby-odbc'

После этого вышеприведенные инструкции сработали без нареканий!

Хорошо, я думаю, что это минимум. Я удалил все: c:\ruby, MinGW, MSYS, все то, что я возился, пытаясь заставить это работать.

Затем я:

  1. установленный Ruby One-Click: http://rubyforge.org/frs/download.php/69034/rubyinstaller-1.8.7-p249-rc2.exe
  2. "gem install activerecord-sqlserver-adapter"
  3. "драгоценный камень установить рельсы"
  4. Установленный devkit: разархивированный rubyforge.org/frs/download.php/66888/devkit-3.4.5r3-20091110.7z в c: \ ruby
  5. "gem install ruby-odbc", который собран и установлен v. 0.999
  6. создал DSN с именем dev-travel-dsn, используя "Панель управления> Администрирование> Источники данных (ODBC)"
  7. поместите это в мой database.yml:

development:
    adapter: sqlserver
    mode: odbc
    dsn: dev_travel_dsn
    username: some_user
    password: some_secret
    host: some_host

Я запустил "rake db:schema:dump", который работал просто отлично.

Это странно, но даже если вы помещаете много одинаковых вещей в DSN Manager, вы должны поместить их и в database.yml.

В любом случае, это минимальные требования для использования Sql Server/Rails 2.3.5/Windows.

Другие вопросы по тегам