MacBookでRuby on Railsの環境を構築する
とりあえずWindows時代のツールをMacに入れ終えたので、ようやくRuby on Railsの環境を構築していこうと思います。
MacBookでRails開発環境を整えます。
参考サイト:DIGITAL SQUAD様<http://blog.digital-squad.net/article/109806615.html>
Macは以下のような感じ:
MacBook
Mac OS X Leopard
まず、ターミナルを起動
(起動方法は昨日の日記参照<http://d.hatena.ne.jp/gutch01/20090924>)
なんと、Macは既にRubyとRailsが入っているらしいので確認
ruby -v
ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]
gem -v
1.0.1
Rails -v
Rails 1.2.6 むむ。gemとRailsのバージョンが古いっぽいですね。
gemアップデート
1.0.1なので1.3.5にアップデートします。
gem update
gem update --system確認してしてみませふgem -v
1.3.5レベルアップ!
てれれれってれー♪
Railsアップデート
続いて、Railsを2.2.2に指定してバージョンアップ!
gem install --version=2.2.2 rails終わったらバージョンを確認してみよう。rails -v
/Library/Ruby/Site/1.8/rubygems.rb:827:in `report_activate_error': Could not find RubyGem rack (~> 1.0.0) (Gem::LoadError)ぎゃおす!
なんか「 Could not find RubyGem rack」って訴えているので、きっとrackが足りないんだね・・・
ということで入れてみる。gem install rack これでどうだっ!rails -v
/Library/Ruby/Site/1.8/rubygems.rb:827:in `report_activate_error': RubyGem version error: activeresource(2.2.2 not = 2.3.4) (Gem::LoadError)ほほう。。。
とりあえず、若干嫌な予感がするのだが・・・とりあえずactiveresourceをインストールしてみるかな・・・gem install activeresourceこれでファイナルアンサァァァァアアアッ!!!rails -v
Rails 2.3.4まぁてまてまてまてえぇぇい!!!
せっかくバージョン指定でRailsインストールしてたのにいつの間にか最新版がっ!
どうにかしなければ・・・
gem uninstall rails
Select gem to uninstall:
1. rails-2.2.2
2. rails-2.3.4
3. All versions
Successfully uninstalled rails-2.3.4お?これはいけるか・・・?
rails -v
Rails 2.2.2キター!
MacBookをGETしました
MacBook GETだぜっ!
Ruby on Railsなどの開発をする際に、Macを使うと良いですよ〜、とのことで導入。
しかし、これ、人生でMAC初体験なので、なんか全てが手探りですね。
せっかくなので、Ruby on Rails話題と共に素人がMacに触れ合っていく様も今後、お届けしたいと思います。
サーバーにRuby on Railsを入れる
Ruby On Rails2.2で作るサンプルアプリケーション(ON さくらインターネット)
などを参考にしながら、
サーバーにRuby on Railsを入れて簡単なアプリを作ってみようとした。
使ってるRailsバージョンは2.3.3なんだけど、どうやらこれが厄介者らしく、
「dispatch.cgi」が作られなかったりするようです。
これの解決はプロジェクト作成時に「-D」を付けると良いみたい。
「dispatch.cgi」が現れるようになりました!
で、いろいろやってみたんだけど、どうしても
「Welcome Aboard」画面で「About your application's environment」をクリックすると
Application error
Rails application failed to start properly
と出力されてしまいます。
なんでかなぁ。
試行錯誤してみたけどなんか上手くいかないです。。。
また解決したら続編を書きます!
yumインストール時にデッドロックでハマった
サーバーにyumをインストールしようとしていた時のこと。
・・・
wget http://mirror.centos.org/centos-5/5.3/os/x86_64/CentOS/yum-3.2.19-18.el5.centos.noarch.rpm
wget http://mirror.centos.org/centos-5/5.3/os/x86_64/CentOS/m2crypto-0.16-6.el5.3.x86_64.rpm
wget http://mirror.centos.org/centos-5/5.3/os/x86_64/CentOS/yum-metadata-parser-1.1.2-2.el5.x86_64.rpm
・・・
rpm -ihv m2crypto-0.16-6.el5.3.x86_64.rpm
rpm -ihv yum-metadata-parser-1.1.2-2.el5.x86_64.rpm
rpm -ihv yum-3.2.19-18.el5.centos.noarch.rpm
赤字部でエラーとなる。
どうやら「yum-fastestmirror」が欲しいとか言ってるので、追加で投入
wget http://mirror.centos.org/centos-5/5.3/os/x86_64/CentOS/yum-fastestmirror-
rpm -ihv yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm
ん???今度は赤字部で、さっきの「yum」が欲しいとか言ってる。
どうみてもデッドロックです。本当にありがとうございました。
ということで調べてみたら同様の課題で解決している方を発見!
http://kajuhome.com/cgi-bin/patio/patio.cgi?mode=view&no=1765
なるほど。スペースで区切って同じタイミングでインストールすればよいわけですね。
rpm -ivh yum-3.2.19-18.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm
準備中... ########################################### [100%]
1:yum-fastestmirror ########################################### [ 50%]
2:yum ########################################### [100%]
おぉ!うまくいった!
restful_authenticationをメールアドレスでログインに変更してみる
restful_authenticationを利用して認証機能を付けたのだけど、
ログイン時に必要な入力項目のデフォルトは「ログインID」と「パスワード」のようだ。
ということは逆にログインIDを一意にしなければならず、運用上あまり嬉しくない。
ということで、現在の主流「メールアドレス」と「パスワード」でログイン認証できるように変更を試みてみます。
まずは前提条件としてrestful_authenticationが既に入っているものとします。
restful_authenticationのインストールやら設定やらは以下のサイトを参照してやってみましょう。
それでは始めます。
まず、app/models/user.rb でloginをemailに変更
def self.authenticate(login, password)
u = find_in_state :first, :active, :conditions => {:email => login} # need to get the salt
・・・
end
次に、app/controllers/sessions_controller.rb のパラメータもemailに変更
def create
self.current_user = User.authenticate(params[:email], params[:password])
・・・
end
最後に、ログイン時の入力をログインIDからメールアドレスに変更すれば完了。
・・・<%= text_field_tag 'email' %>
・・・
うん、OK。
案外修正箇所が少なかったぞ。
FireFoxにSQLiteのアドオンを入れてみる
インターネットブラウザのFireFoxのアドオンとして、「SQLite Manager」を入れるとSQLiteのDBが簡単に参照できたり操作できたりするらしい。
ということで、早速導入してみることに。(FireFoxが導入されていることは前提条件)
こちらのサイトからアドオンをインストール。
インストールが完了したら、「ツール」→「SQLite Manager」より起動できます。
起動できたら「Database」→「Connect Database」より操作したいDB(.sqliteファイル等)を指定して開けばOK。
残念ながら日本語版はまだないようなのですが、ザックリとSQLがわかる人であればなんとなく感覚でいけるはずです。
【参考サイト】
SQLite Manager :: Firefox Add-ons
firefox 3が遅くなった→ SQLite reindexで解決&高速化 - しおそると