2010-09-25 1 views
0

я должен сначала объяснить немного свой контекст, то вопрос:Невозможно использовать sqlite3 с рубином 1.9.2 и рельсы 3.0.0 на окнах

  1. я использовал Ruby On Rails в настоящее время в течение 3 лет с различных приложений и обновлен с 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. Я создал новое приложение, создается фиктивный миграции таблицы, и пытался сделать «грабли БД: мигрировать»
  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 (что, очевидно, не работает для меня).

+0

Здравствуйте, какую версию sqlite3.dll вы скопировали? если вы установили sqlite3-ruby, тогда он должен указать вам, какая версия DLL вам нужна. Кроме того, Rails 3 нуждается в драгоценных камнях в комплекте. Вы читали документацию Бундлера? –

+0

Привет Луис, спасибо за ваш вопрос. Версия, которую я скопировал, была правильной, но я установил более старую версию sqlite3-ruby, и это не сработало с установленной мной DLL. Кстати, что означает «читать документацию Bundler»?Существует много документации для Rails 3, поэтому вы не знаете, с чего начать. – mliebelt

ответ

1

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

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

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

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

  3. Убедитесь, что ваш Gemfile (приложение-корень/Gemfile) перечислить требования:

    Gem 'sqlite3-рубин', "> = 1.3.1",: требуется => 'sqlite3'

  4. Теперь выполните 'rake db: migrate' (что должно работать тогда).

я не нашел причину, почему Rails 3.0.0 настоял, чтобы установить версию sqlite3-рубиновый 1.2.5, но с той версией, установленной, sqlite3 не работает для меня.

+0

Это также работало на моей машине os x. Я добавил следующее в свой gemfile и исправил проблему. gem 'sqlite3-ruby', "> = 1.3.1",: require => 'sqlite3'. В настоящее время я запускаю ruby ​​1.9.2 и Rails 1.3 – mattwallace

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

  • Нет связанных вопросов^_^