Installing SQLite3 for Ruby on Windows - what's the current easiest route?
Asked Answered
C

1

3

Am brand new to Ruby looking to get Redmine to run on WinServer08 sp1

I've read a few threads here detailing the steps and workarounds required to get Ruby and SQLite to play nice with each other.

Ruby will run...sqlite3's .dll and api are in the specified directories...i've rebooted but rake -test fails.

I'd like to find out if there's a definitive step-by-step that rolls up previous workarounds of the various packages involved. - thx much!

C:\Ruby>rake -test --trace
rake aborted!
undefined local variable or method `st' for #<Rake::Application:0x4351638>
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2217:in `standard_rake_opt
ions'
C:/Ruby/lib/ruby/1.8/optparse.rb:1291:in `eval'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2217:in `standard_rake_opt
ions'
C:/Ruby/lib/ruby/1.8/optparse.rb:1291:in `call'
C:/Ruby/lib/ruby/1.8/optparse.rb:1291:in `parse_in_order'
C:/Ruby/lib/ruby/1.8/optparse.rb:1247:in `catch'
C:/Ruby/lib/ruby/1.8/optparse.rb:1247:in `parse_in_order'
C:/Ruby/lib/ruby/1.8/optparse.rb:1241:in `order!'
C:/Ruby/lib/ruby/1.8/optparse.rb:1332:in `permute!'
C:/Ruby/lib/ruby/1.8/optparse.rb:1353:in `parse!'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2313:in `handle_options'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2009:in `init'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exceptio
n_handling'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2007:in `init'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1999:in `run'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exceptio
n_handling'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
C:/Ruby/bin/rake:19:in `load'
C:/Ruby/bin/rake:19
Cecrops answered 20/7, 2009 at 11:6 Comment(0)
U
7

The Windows version of Ruby on Rails does not ship with the Sqlite3 database, even though the database.yaml configuration file is preconfigured to use Sqlite.

This is a how to guide on how to install Sqlite3 on your Windows PC. This article assumes that you already have Ruby and Ruby on Rails installed on your PC.

First you will need to download two files from the Sqlite web site http://www.sqlite.org/download.html:

sqlite-3_5_9.zip (214.32 KiB)
A command-line program for accessing and modifing SQLite databases. 
See the documentation for additional information.

sqlitedll-3_5_9.zip (213.17 KiB)
This is a DLL of the SQLite library without the TCL bindings. 
The only external dependency is MSVCRT.DLL.

The first file is the Sqlite command line program used for modifing the Sqlite database. You may or may not use this.

The second file is the Windows DLL library file and Ruby uses this when Rails makes Sqlite database calls.

When both these ZIP files have been extracted you should have the following files:

  • sqlite3.exe
  • sqlite3.def
  • sqlite3.dll

Copy these file to the bin directory of your Ruby installation, if you followed the default Ruby installation it will be located here:

C:\ruby\bin

Now that you have the Sqlite3 files installed you need to tell Ruby how to use them. To do this you need to download the Ruby bindings for Sqlite3. Fortunately this is easy to do, using Ruby gems. Simply at the command prompt type the following command:

gem install sqlite3-ruby

You will now need to tell Gems which version you need as you will be presented with the following output:

Bulk updating Gem source index for: http://gems.rubyforge.org
Select which gem to install for your platform (i386-mswin32)
 1. sqlite3-ruby 1.2.2 (mswin32)
 2. sqlite3-ruby 1.2.2 (ruby)
 3. sqlite3-ruby 1.2.1 (mswin32)
 4. sqlite3-ruby 1.2.1 (ruby)
 5. Skip this gem
 6. Cancel installation
>_

Please select option 1, sqlite3-ruby 1.2.2 (mswin32). All being successful you will get some output like this:

Successfully installed sqlite3-ruby-1.2.2-mswin32
Installing ri documentation for sqlite3-ruby-1.2.2-mswin32...
Installing RDoc documentation for sqlite3-ruby-1.2.2-mswin32...

If you are using Rails 2+ you should be able to run the following rake tasks from your Rails application directory. For example say you created a Rails application located here: C:\MyApp you should be able to execute:

C:\MyApp>rake db:create
or
C:\MyApp>rake db:migrate

Good luck !

(This was taken verbatim from http://blog.emson.co.uk/2008/06/installing-sqlite3-on-windows-for-rails/)

Upolu answered 20/7, 2009 at 11:28 Comment(2)
This was copied verbatim from blog.emson.co.uk/2008/06/… You should have given attribution.Susurrous
This info is out-of-date: C:\Users\Matthew\Documents\GitHub\simoneau.github.com>gem install sqlite3-ruby Fetching: sqlite3-1.3.10-x86-mingw32.gem (100%) Fetching: sqlite3-ruby-1.3.3.gem (100%) ####################################################### Hello! The sqlite3-ruby gem has changed it's name to just sqlite3. Rather than installing sqlite3-ruby, you should install sqlite3. Please update your dependencies accordingly. Thanks from the Ruby sqlite3 team! <3 <3 <3 <3Husch

© 2022 - 2024 — McMap. All rights reserved.