4

Ruby on Rails の最新バージョンにアップグレードしようとしています。Ruby と Rails をインストールしました (と思います)。

C:\Users\benjaminw>ruby --version
ruby 2.0.0p0 (2013-02-24) [x64-mingw32]

C:\Users\benjaminw>rails -v
Rails 3.2.13

Ruby on Rails の本の説明ガイドに従っていますが、少し古くなっています。次のステップでは、sqlite3 db をダウンロードし、ファイルを次のフォルダー C:/Ruby200/bin に抽出します。

次に、次のコマンドを実行して、データベースが正しくインストールされたことを確認します

C:\Users\benjaminw>sqlite3 --version
3.7.16 2013-03-18 11:39:23 66d5f2b76750f3520eb7a495f6247206758f5b90

ここで問題が発生します。次のコマンドを入力するとエラーが発生し、環境を適切に設定することが重要なようです。次の意味と修正方法を知っている人はいますか?ああ、このバージョンの devkit を Windows 7 コンピューター DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe にインストールしました。

C:\Users\benjaminw>gem install sqlite3-ruby
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
    ERROR: Failed to build gem native extension.

C:/Ruby200/bin/ruby.exe extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Install SQLite3 from http://www.sqlite.org/ first.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=C:/Ruby200/bin/ruby
    --with-sqlite3-dir
    --without-sqlite3-dir
    --with-sqlite3-include
    --without-sqlite3-include=${sqlite3-dir}/include
    --with-sqlite3-lib
    --without-sqlite3-lib=${sqlite3-dir}/
    --enable-local
    --disable-local


Gem files will remain installed in C:/Ruby200/lib/ruby/gems/2.0.0/gems/sqlite3-1
.3.7 for inspection.
Results logged to C:/Ruby200/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/ext/sqlite3/
gem_make.out
4

5 に答える 5

2

SQLITE.h をコンパイルした結果、Ruby 2.0 と SQLite にまったく問題はありませんでした。

解決

次の URL にアクセスして、Windows を使用したい他の Rails 4 Rubyist のために、事前にコンパイルされた gem の上に gem をコンパイルするという次のステップを実行した人にこの問題を解決してもらいます:このリンク

コマンドのような -with-opt-dir=<Path of Sqlite.3 bin, lib, include, and share folders>コマンドで。唯一の厄介な部分は、公式の sqlite3 Web サイトが提供するファイルがプリコンパイルされていることでした。これが問題であると考えるのは非常に困難です。

Ruby 2.0 および Rails 4.0.0.0beta1 を使用するためにこのような操作を行うのにまだ問題がある場合は、さらに詳しい手順をお知らせします。

Sqlite3 と Rails に関しては、Ruby 2.0 を Windows で使用することはまったく問題ありません。Rails 4.0.0beta1 に関しては、Ruby 2.0 64 ビットを避けるように注意してください。これは、Rails 4 の依存 gem の 1 つが、コンピューターの CPU がその gem 要件と互換性がないという誤ったフラグを立てるためです。それはすぐに解決されます。

編集:私は、より明確な指示が必要なほど役に立たなかったことに気付きました。すでに時間を割いている人からのリンクと、起動して実行するために必要なファイルを提供しています。

@Brian Petro : 実際、1 日の終わりに Gem と .h ファイルがそれらの構築でどのように機能するかを知っていれば、この問題を解決するのは簡単です。この問題は、いくつかのgem が Ruby 2.0 でどのように処理されるかに起因しています。Ruby 2.0 以降では、以前のバージョンの Ruby で便利だったプリコンパイルされた gem は、ABI 破損があると機能しなくなります。Sqlite3 gem はその 1 つです。

于 2013-03-26T03:15:38.123 に答える