web-dev-qa-db-ja.com

WindowsでRubyにsqlite3をインストールするにはどうすればよいですか?

Ruby/Railsが初めてなので、この週末に自分で問題を解決しようとした後、ここでアドバイスを求めようとしています。

FreeBSDでRuby/Apache/Passengerの完全なセットアップを完了し、WindowsをRuby開発環境として使用するタスクを達成しようとしています。

これまでのところ:

  • Rubyがインストールされている、v2.0.0p0(2013-02-24)[x64-ming32]
  • Railsがインストールされている、v.3.2.12
  • Ruby開発キットをインストールして登録しています。
  • Sqlite3 dll/exeをRuby "bin"フォルダーにコピーしました(これも[Rubyでコマンドプロンプトを開始]コンソールを使用して私のパスにあります)。
  • Railsサーバーを正常に起動し、3.3への http://guides.rubyonrails.org/getting_started.html チュートリアルを続行できます。
  • 「> rake db:create」は私に言う:

    Sqlite3アダプターをインストールしてください:gem install activerecord-sqlite3-adapter(sqlite3はバンドルの一部ではありません。Gemfileに追加してください。)

私には「理解」がありません。 activerecord-sqlite3-adapterをインストールしようとすると、「有効なgemが見つかりませんでした...」というメッセージが表示されます。

  • 「> gem install sqlite3」は以下を返します。

    Building native extensions. This could take a while...ERROR: Error installing sqlite3:ERROR: Failed to build gem native extension.

    D:/Development/Ruby200-x64/bin/Ruby.exe extconf.rbchecking for sqlite3.h... *** extconf.rb failed ***

今、私は自分のRubyがどの状態にあるかさえわからないところに行き詰まっています。メインのRailsチュートリアルであり、これらの問題のいずれも指定していません(おそらく、Rubyは多くの人にとって自然な痛みのようです。)

私は何が欠けていますか?!? Ruby Windowsでsqlite3をインストールしようとしています。

私が行った場合 ">rais db" SQLiteシェルが表示されます。

SQLite version 3.7.15.2 2013-01-09 11:53:05

私の問題を解決しないステップでの同様の質問: Windows 7でのSQLite 3.6のインストール

35
chrisp

質問には答えられましたが、他の人を助けるために研究を投稿したいと思います。多くの情報をオンラインで見つけましたが、Ruby初心者なので、私はすべてを追うのに苦労しました。基本的な答えは次の投稿から来ます https://github.com/ luislavena/sqlite3-Ruby/issues/82 Ruby 2.0.0-p0および https: //github.com/Rails/rails/issues/1015 。だからここにある:

  1. セットアップ用にRuby Devkit(x64マシンを使用しているため、DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe)をインストールします)
  2. Sqlite.orgからautoconfパッケージをダウンロードして抽出します
  3. Msys.batを実行します(Ruby devkitルートフォルダー内)
  4. sqliteソースをダウンロードしたパスにcdします(たとえば、MSYS/MINGW32を初めて使用する場合は、パス「c:\ dev\sqlite3」の「cd/c/dev/sqlite3」)
  5. 「./configure」を実行します
  6. 「make」を実行します
  7. 「make install」を実行します
  8. Sqlite3 gemを再度取得します。今回はプラットフォームと新しくコンパイルされたバイナリへのパスを指定します。

    gem install sqlite3 --platform=Ruby -- --with-sqlite3-include=[path\to\sqlite3.h] --with-sqlite3-lib=[path\to\sqlite3.o]
    

    例えば:

    gem install sqlite3 --platform=Ruby -- --with-sqlite3-include=/c:/dev/sqlite3/ --with-sqlite3-lib=/c:/dev/sqlite3/.libs/
    

    (手順4で指定したパスから)

  9. RailsアプリのGemfile.lockを確認し、正しいsqlite3バージョンを指していることを確認してください。 sqlite3(1.3.7-x64-mingw32)」。プラットフォームの削除も機能します:「sqlite3(1.3.7)」。

これが誰かを助けることを願っています。

75
Williams

次のコマンドを使用して、win XP32にRuby2.0.0でsqlite3をインストールできました。

c:\>gem install sqlite3 --platform=Ruby -- --with-sqlite3-dir=C:/distr/sqlite --with-sqlite3-include=C:/distr/sqlite

フォルダーC:/distr/sqliteには次のファイルが含まれています

  • Shell.c
  • sqlite3.c
  • sqlite3.h
  • sqlite3ext.h
  • sqlite3.def
  • sqlite3.dll

それで、基本的にsqlite-amalgamation-3071602.Zipsqlite-dll-win32-x86-3071602.ZipC:/distr/sqliteに抽出しました。

ヘッドアップ

sqlite3.dllsqlite3.defのコピーをPATHのどこかに置く必要があります。私見では、sqlite3バイナリをRubyのbinフォルダに保存するのが最善です。

11
denis-bu

これは古いスレッドですが、まだ関連しています。

私たちにとっては、Gemfileを編集してsqliteの特定のバージョンを追加するのと同じくらい簡単でした:

gem 'sqlite3', '~> 1.3.13
6
cmantas
#!/usr/bin/env sh

mkdir c:/sqlite3x86
wget -P c:/sqlite3x86 http://packages.openknapsack.org/sqlite/sqlite-3.7.15.2-x86-windows.tar.lzma
cd c:/sqlite3x86
bsdtar --lzma -xf c:/sqlite3x86/sqlite-3.7.15.2-x86-windows.tar.lzma
gem install sqlite3 --platform=Ruby -- --with-opt-dir=c:/sqlite3x86
cd c:/
rm -rf c:/sqlite3x86
2
qkdreyer

Windowsの場合は、C:/Ruby25-x64/lib/Ruby/gems/2.5.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3.rb

そして確認してください

require "sqlite3"ネイティブの代わりに

1
zawhtut

ここからファットバイナリを取得します

https://ci.appveyor.com/project/MSP-Greg/sqlite3-Ruby/build/3/job/hhk6ie8gdo545svr/artifacts

そして

gem install c:\path\to\downloaded_gem.gem
1
Lyndon S

Ruby on Rails on Windowsマシンでセットアップする最も簡単な方法は、RailsInstallerを使用することです。これにより、sqlite3が自動的にインストールおよび構成されます。 。

http://railsinstaller.org/en

0
regularmike

後世のために、コメントから答えを出すと思った。問題は、SQLite3と「まだ」互換性のない新しいバージョンのRuby/Rails(Windows用)を入手したことのようです。

1.9.xにダウングレードし、実行できるようになりました。

0
chrisp