Windows上で Ruby1.9.2 + Rails3 + SQLite or MySQL 環境を構築
五十嵐(igaiga)です。
RubyKaigiはもりだくさんの内容で、弊社メンバーも年に一度の祭典を満喫しました。
RubyKaigi最終日のAsakusa.rbで Yehuda Katz さんが
「今日か明日にRails3が出るよ」と宣言した通り、
日本時間の2010.8.30にRails3がリリースされました。
弊社でもベータ時代からRails3を使っていたプロダクトを正式版へアップデートしたり、
Rails2系のプロダクトをRails3へバージョンアップする準備を始めています。
今日は、WindowsでRailsアプリを立ち上げる機会があったので、
Windows上の Ruby1.9.2 + Rails3 + SQLite or MySQL 環境を構築する手順を紹介します。
Ruby1.9.2 インストール
http://rubyforge.org/projects/rubyinstaller/
から rubyinstaller-1.9.2-p0.exe をダウンロードしてインストールします。
ruby と gem がインストールされます。
SQLite3 インストール
か らsqlitedll-3_7_2.zip をダウンロードします。
sqlite3.dll を C:\Ruby192\bin へコピーします。
Rails3 インストール
$ gem install rails
RailsApp作成
$ rails new appname
$ cd appname
$ bundle install
$ rails s
localhost:3000 へアクセスできれば成功です。
Scaffoldで何か作ってみましょう。
$ rails g scaffold user name:string email:string
$ rake db:create:all
$ rake db:migarate
と、ここまで簡単に到達できました。
次はMySQLを使うアプリを作ってみました。
MySQLを使う(mysql2 アダプタ)
MySQLをダウンロードしてインストールします。
http://dev.mysql.com/downloads/mysql/#downloads
Windows (x86, 32-bit), MSI Installer Essentials - Recommended
$ rails new appname -d mysql
$ cd appname
$ bundle install
gem 'mysql2' (Rails3標準のmysqlアダプタ)でエラーがでます。
Error installing mysql2: ERROR: Failed to build gem native extension.
調べたところ、以下でmysql2のwindows対応が進められているようです。
今日(2010.9.7)現在、まだバグが残っているもののインストールはできる模様です。
http://github.com/brianmario/mysql2/issues#issue/8
MySQLを使う(ruby-mysqlアダプタ)
回避策としてpure ruby の ruby-mysql アダプタを使う方法を試してみました。
アプリを再作成します。
$ rails new appname -d mysql
Gemfileの以下の箇所を修正します。
#gem 'mysql2'
gem 'ruby-mysql'
$ bundle install
config/database.yml の以下の行を変更します。(development, test, productionの3つ)
adapter: mysql
host: 127.0.0.1
(host: localhost にしていると、 uninitialized constant Mysql::Protocol::UNIXSocket というエラーが出ます。)
$ rails g scaffold task name:string memo:string
$ rake db:create:all
$ rake db:migrate
これで動きました!
mysql2が動作するようになるまで ruby-mysql を使ってみようと思います。
動作させるにあたり、以下のページを参考にさせていただきました。
ありがとうございました。
http://d.hatena.ne.jp/toyoshi/20100902/1283389510
Comments 0 Comments