2年前くらいにすこしだけ触って、それから放置していたRailsを仕事で使うことになったので、今回再度、環境を構築しようと思ったのだけれど、備忘録がなくて少し苦労しました。
後輩たちも使うそうなのでまとめて備忘録をつけておこうと思います。
RubyとRailsと書籍
あー、RubyはMatzさんが開発したスクリプト言語です。Ruby - Wikipediaとか読んだらいいと思う。
Railsは、言語ではなくてRubyで書かれたWebアプリケーションフレームワークです。まぁRuby on Rails - Wikipediaを読めばいいんじゃないか。
Webアプリケーションフレームワークが何をするかわからないなら[ThinkIT] 第1回:Webアプリケーションフレームワークとは (1/4)とか読んでください。
Rubyの本は、
- 作者: Dave Thomas with Chad Fowler and Andy Hun,まつもとゆきひろ,田和勝
- 出版社/メーカー: オーム社
- 発売日: 2010/05/26
- メディア: 単行本(ソフトカバー)
- 購入: 2人 クリック: 168回
- この商品を含むブログ (23件) を見る
でいいのではないかと思う。Railsは
RailsによるアジャイルWebアプリケーション開発 第3版
- 作者: Sam Ruby,David Heinemeier Hansson,Dave Thomas,前田修吾
- 出版社/メーカー: オーム社
- 発売日: 2009/12/01
- メディア: 単行本
- 購入: 16人 クリック: 291回
- この商品を含むブログ (39件) を見る
で、両方ともオーム社eStore(β)から電子書籍で買える。こういうリファレンス本こそ電子書籍の価値がある。検索できるってことがどれだけ効率に影響するか…。iPadで読むときはi文庫HDがよろしかろうと思います。PDF が読める iPad アプリ 10個を比較してみたよ - 彼女からは、おいちゃんと呼ばれていますで比較されているけれど、goodiware.com :: products :: GoodReaderやBookmanについて(日本語) « Bookman Labは次ページに進んだ時に、そのページのレンダリングを始めるので、表示が遅くてイラッとくる。
i文庫HDは、あの格好いい*1ページめくりエフェクトのおかげで次のページをキャッシュしているから、ページめくりが軽快でよろしい。
iPadの話で、iPad2だとどうなのかわからないけど。
構築する環境
普通Railsを使う場合はNetBeansでMySQLな感じみたいだけど、うちの研究室も会社もPostgreSQLなので、
- Ruby 1.9.2-p180
- Rails 3.0.6
- PostgreSQL
- Windows XP
な開発環境をWindows上に構築します。
Rubyのインストール
オブジェクト指向スクリプト言語 Rubyのダウンロードページに各環境用バイナリへのリンクが張ってあって、Windowsのバイナリへのリンクがいくつかあるけれども、RubyInstaller for Windowsをインストールすればいいみたい。One-Clickじゃねぇじゃないかと何度も言われましたが、知りません。なんとなく日本語の取り扱いが微妙なので、できればドライブ直下とか、インストールディレクトリにスペースが入らないようなところへインストールするといいかと思います。
C:\ruby\1.9.2-p180
とかね。
環境変数の追加
#One-Clickだと最初にチェックボックスを選択すればやってくれます。
rubyのインストールが終わったら、環境変数RUBY_HOMEを作成して、PATHに%RUBY_HOME%/binを追加してください。最近は環境変数もいじらなくてよくなってきたのかなとも思うけど、rubyはgemをコマンドプロンプトでよく使うみたいなので。
環境変数の追加・変更は、システムのプロパティからやるのもいいけど、窓の杜 - Rapid Environment Editor(About - Rapid Environment Editor)あたりがいいらしい*2ですよ。
RUBY_HOME=C:\ruby\1.9.2-p180 PATH=%PATH%;%RUBY_HOME%\bin
的なことを追加してください。Pathの通し方くらいはGoogle先生が答えてくれます。
で、コマンドプロンプトを立ち上げて、
ruby --version
と打って
ruby 1.9.2p180 (2011-02-18) [i386-mingw32]
とか返事が返ってきたらOKです。
ちなみにコマンドプロンプトはデフォルトでは範囲指定やコピペができないので簡易編集の設定をしておくといいです。@IT:Windows TIPS -- Knowledge:これだけは覚えておきたい、コマンド・プロンプトの使い方あたりを読んでください。因みにコピーはCtrl+Cじゃなくて選択してEnterですよ。
gemのアップデートとrailsのインストール
で、ここまで来たらRubyGemsをアップデートします。しなくてもいいかもしれないけど。RubyGemsはRuby用のパッケージ管理システムです。javaでいうmavenのdependency mechanizmだし、PHPのPEARだし、Linuxのyumやrpmやapt-getです。まぁRubyGems - Wikipediaを読んでください。
gemをアップデートするには
gem update --system gem update
してください。上の行はgem自体のアップデート、下はgemでインストールされているパッケージのアップデートです。gemでエラーが出る場合は環境変数の設定とか見直してください。あとcygwinからcmdって打ってコマンドプロンプトを使わないように。なんか変になることがあります。
これが終わったらいよいよrailsのインストール。
…まぁ
gem install rails
って打てば終わりだし、NetBeansとかだとボタンがついてたりもするけど。インストールが終わったら
rails --version
と打って
Rails 3.0.6
とか言われればOKです。
PostgreSQLのインストール
ここはMySQLな人は飛ばせばいいと思います。MySQLとかPostgreSQLとかOracleとかのRDBMSがわかんねぇって人はグーグル先生に聞けばいいと思います。
PostgreSQLは何も考えずに、Download PostgreSQL | EnterpriseDBからDLしてインストールしてください。途中で聞かれるパスワードを覚えておいてください。あとインストール後に聞かれるStack Builderは立ち上げなくていいです。
pgパッケージのインストールとDevKitのインストール
で、rubyからpostgreSQLにアクセスするためのpgというパッケージをインストールします。
以下、インストール時にはまった項目を列挙していますから、普通のインストールの仕方は
ged / ruby-pg / wiki / Win32Instructions — Bitbucket
を見てください。
Visual StudioのExpressEditionをインストールしたり、VSについてるVisualStudioコマンドプロンプトを使わないといけないとかいうのは、省いていいよね?
pgパッケージのインストールの仕方、正解
正解は、PostgreSQLのbinに入っているpg_config.exeを直接実行したときに出てくる、
BINDIR = C:/PROGRA~1/POSTGR~1/9.0/bin
の
C:/PROGRA~1/POSTGR~1/9.0
というショートネームを--with-pg-dirに渡せばいい。
ショートネームって何ぞ、という人は@IT:Windows TIPS -- Tips:8.3形式の短いファイル名を表示させるを読んでください。
デフォルトだと、
C:\Program Files\PostgreSQL\9.0
とかにインストールされてるので、同じ場所なら
gem install pg -- --with-pg-dir=C:/PROGRA~1/POSTGR~1/9.0
でインストールできます。
DevKitのインストール
でまぁ、これが厄介で、
何も考えずに
gem install pg
とかやると
Fetching: pg-0.10.1.gem (100%) ERROR: Error installing pg: The 'pg' native gem requires installed build tools. Please update your PATH to include build tools or download the DevKit from 'http://rubyinstaller.org/downloads' and follow the instructions at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
とまぁ、Windows上でビルドしようとしたけど環境がないから失敗したよ、DevKit入れてねって言われます。素直に従ってDownloadsからDevelopment Kitをダウンロードします。
DLしたファイルはただの7zipファイルなので、ダブルクリックするとインストールする場所を聞かれますが、これもまたスペースが入っていたり日本語が入っていたりすると微妙なので、
C:\languages\ruby\DevKit
的な場所に解凍します。Development Kit · oneclick/rubyinstaller Wiki · GitHubを読めばインストールできると思うのですが、
cd C:\languages\ruby\DevKit ruby dk.rb init ruby dk.rb install
すればいいです。initした時にごにょごにょ言われる場合、cygwinでやらないように。素のWindowsのコマンドプロンプトでやってください。
試行錯誤
そして、DevKitもインストールできたからpgインストールできるだろ!と思って、再度
gem install pg
とやると、
Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. D:/languages/ruby/1.9.2-p180/bin/ruby.exe extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config checking for libpq-fe.h... no Can't find the 'libpq-fe.h header *** 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: --snip-- --with-pg-dir --snip--
とか言いやがります。pg_configが見つからないからlibpq-fe.hが見つからないとな。--with-pg-configつけろとかいうので、
gem install pg --with-pg-dir="C:\Program Files\PostgreSQL\9.0"
とすると、今度は
ERROR: While executing gem ... (OptionParser::InvalidOption) invalid option: --with-pg-dir=C:\Program Files\PostgreSQL\9.0
とかなります。オプションつけろって言ったくせに。コマンドの追加の仕方は、
gem install pg -- --with-pg-dir="C:\Program Files\PostgreSQL\9.0"
です。で、これでも通らなくて、
Using config values from D:\Program
とかいうので、PathにPostgreSQLのbinを追加して解決しようとすると
checking for pg_config... yes
とpg_configは見つかっているのに
extconf.rb:13:in ``': No such file or directory - D:\Program Files\PostgreSQL\9. 0\\bin/pg_config.exe --includedir (Errno::ENOENT) from extconf.rb:13:in `<main>'
とか言われて半狂乱になります。The Evelotuion of a Programmar - けむしろうwebのChief Executiveを思い出します。最近のネット企業では、こんなジョーク通じないかもね。
で、繰り返しになりますが正解は、pg_config.exeを直接実行したときに出てくる、
BINDIR = C:/PROGRA~1/POSTGR~1/9.0/bin
の
C:/PROGRA~1/POSTGR~1/9.0
というショートネームを--with-pg-dirに渡せばいい。デフォルトだと、
C:\Program Files\PostgreSQL\9.0
とかにインストールされてるので、同じ場所なら
gem install pg -- --with-pg-dir=C:/PROGRA~1/POSTGR~1/9.0
とすると
Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... Successfully installed pg-0.10.1 1 gem installed Installing ri documentation for pg-0.10.1... Installing RDoc documentation for pg-0.10.1...
と、無事インストールできます。
っつか、めんでぇ!って方はruby+PostgreSQLを使わないといいと思います。
参考:
WindowsのIDE*3
で、Windowsの開発環境はNetBeansを使おうと思います。
ただ、NetBeansは神託によってRubyサポートが打ち切られるらしい(NetBeans 7.0ではRuby on Railsのサポートを停止する方針 - SourceForge.JP Magazine : オープンソースの話題満載)ので、他のIDEも検討したほうがいいみたいです。Emacs大好きなのでこの界隈詳しくないのだけれど、Ruby on Rails用 統合開発環境(IDE) 比較レポート(1/3):CodeZineという記事にあるように、
がRuby開発環境として有力みたいで、AptanaとEclipseに関してはAptana単体のものとEclipseプラグインとしてのAptanaがあるそう。使うならどっち?Eclipse or Aptana | Technolog.jp - ICTウェブマガジンを読むに、まぁEclipseでいいみたいです。
記事書き始めて調べたので、今はNetBeansってことで…。
で、【ハウツー】NetBeansでRuby on Rails開発 (1) 開発を始める前に | エンタープライズ | マイナビニュース読めばOK。
まとめ
あとは本読んで。