MacBookでRuby on Railsの環境を構築する

とりあえずWindows時代のツールをMacに入れ終えたので、ようやくRuby on Railsの環境を構築していこうと思います。

MacBookRails開発環境を整えます。
参考サイト:DIGITAL SQUAD様<http://blog.digital-squad.net/article/109806615.html>


Macは以下のような感じ:
MacBook
Mac OS X Leopard


まず、ターミナルを起動
(起動方法は昨日の日記参照<http://d.hatena.ne.jp/gutch01/20090924>)


なんと、Macは既にRubyRailsが入っているらしいので確認

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キター!

設定メモ

念願のMACを整備したり慣れたりしたときのメモ
MAC初心者向けで自分メモ用

  • コピー&ペーストのショートカット

コピー:コマンドキー+C
ペースト:コマンドキー+V
(コマンドキー:右下に⌘マークがあるキー)

  • 大文字・小文字の切り替え

shiftキー+caps lockキー

メニューバー[Finder]-[環境設定]-[詳細]タブ-[すべてのファイル拡張子を表示]をチェック

Macintosh HD -[アプリケーション]-[ ユーティリティ]-「ターミナル」

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」を付けると良いみたい。

%rails プロジェクト名 -D mysql

「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で解決&高速化 - しおそると