0

最初に私の文脈を少し説明し、次に質問をしなければなりません:

  1. 私は現在、さまざまなアプリケーションで Ruby on Rails を 3 年間使用しており、1.2 から 2.3.9 にアップグレードしています。できるだけ早く 3.0.0 にアップグレードしたいです。
  2. Rails 3.0.0 で動作するように Ruby の現在のバージョン 1.9.2 を使用するように言われたので、Windows にプリコンパイル済みバイナリ 1.9.2 をインストールしました。
  3. sqlite3 にはパスのどこかに DLL をインストールする必要があることを思い出したので、それを新しい bin ディレクトリにコピーしました。
  4. 必要な sqlite3-ruby もインストールしました。
  5. 新しいアプリケーションを作成し、ダミー テーブルの移行を生成し、「rake db:migrate」を実行しようとしました
  6. 答えは次のとおりです。rake aborted! no driver for sqlite3 found

私は周りを検索して、sqlite3のバイナリを自分でインストールするように指示されたいくつかの答えを見つけました(これは私には手の届かないところです)。

だからここに質問があります:

Windows上のRuby 1.9.2でRails 3.0.0を使用するための正しいセットアップは何ですか?

ちなみに、sqlite3-ruby だけをインストールすると、動作するように見えた新しいバージョン (1.3.1) が得られました。しかし、それを Rails で使いたいと思ったとき、Rails はバージョン 1.2.5 をインストールするように要求しました (これは明らかに私にはうまくいきません)。

4

1 に答える 1

1

スタイルが悪いことはわかっていますが、解決策が 1 つあります。そもそもなぜうまくいかなかったのかわかりません...

私にとっての解決策は次のとおりです。

  1. sqlite3-ruby の最新バージョン (現在のバージョンは 1.3.1) をインストールします。

  2. そのインストールにより、(DOS シェルのテキストとして) 正しい sqlite3.dll をコピーする場所の情報が得られます。それを Ruby の bin ディレクトリ (またはパス上の他の場所) にコピーしてください。

  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 は機能しませんでした。

于 2010-09-27T11:41:20.420 に答える