Не могу использовать sqlite3 с ruby ​​1.9.2 и rails 3.0.0 на windows - PullRequest
0 голосов
/ 25 сентября 2010

Сначала я должен немного объяснить мой контекст, затем вопрос:

  1. Я уже 3 года использую Ruby on Rails с различными приложениями и обновился с 1.2 до 2.3.9. Я хочу обновиться до 3.0.0 как можно быстрее.
  2. Все, что я читал об этом, говорило использовать текущую версию 1.9.2 Ruby для работы с Rails 3.0.0, поэтому я установил предварительно скомпилированный двоичный файл 1.9.2 в Windows.
  3. Я вспомнил, что sqlite3 нужна DLL, установленная где-то в пути, поэтому я скопировал ее в новый каталог bin.
  4. Я также установил необходимый sqlite3-ruby.
  5. Я создал новое приложение, сгенерировал фиктивную миграцию таблиц и попытался выполнить команду 'rake db: migrate'
  6. Ответ был: rake aborted! no driver for sqlite3 found

Я искал вокруг и нашел несколько ответов, в которых говорилось установить бинарный файл для sqlite3 самостоятельно (что для меня недоступно).

Итак, вот вопрос:

Как правильно настроить Rails 3.0.0 на Ruby 1.9.2 в Windows?

Кстати, при установке только sqlite3-ruby я получил более новую версию (1.3.1), которая, казалось, работала. Но когда я захотел использовать это в рельсах, рельсы настаивали на установке версии 1.2.5 (которая, очевидно, не работает для меня).

1 Ответ

1 голос
/ 27 сентября 2010

Ну, я знаю, что это плохой стиль, но я нашел одно решение для меня. Я не знаю, почему это не сработало ...

Решение для меня было:

  1. Установите последнюю версию sqlite3-ruby (в настоящее время версия 1.3.1)

  2. Эта установка дает вам (как текст в оболочке DOS) информацию, куда скопировать правильный файл sqlite3.dll. Обязательно скопируйте его в каталог bin Ruby (или в любое другое место на вашем пути).

  3. Убедитесь, что в вашем Gemfile (app-root / Gemfile) указано требование:

    gem 'sqlite3-ruby', "> = 1.3.1",: require => 'sqlite3'

  4. Сделайте 'rake db: migrate' сейчас (что должно сработать).

Я не нашел причину, по которой Rails 3.0.0 настаивал на установке версии sqlite3-ruby 1.2.5, но с этой версией sqlite3 у меня не работал.

...