Snow LeopardでRuby On Rails環境構築

snowleopard   rails
 
 
1. Snow Leopardでのデフォルト環境確認

$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
$ gem -v
1.3.1
$ rails -v
Rails 2.2.2

 
2. mysql インストール

http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg こちらから Mac OS X 10.5 (x86_64) をダウンロード。ディスクイメージを開いたら、デフォルトのオプションのまま、まず「mysql-5.1.38-osx10.5-x86_64.pkg」をインストール。次に、同じくデフォルトオプションのまま「MySQLStartupItem.pkg」をインストールし、さらに「MySQL.prefPane」をダブルクリック
 
3. mysql 操作

$ /usr/local/mysql/bin/mysql -u root -p
Enter password:
データベース作成:
mysql> create database mysqldemo default character set utf8;
ユーザー作成、権限付与:
mysql> grant all privileges on mysqldemo.* to
    testuser@localhost identified by 'password';

 
4. gem install mysql

$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql --
   --with-mysql-config=/usr/local/mysql/bin/mysql_config

(以下のエラーが発生した場合はXcodeをインストールしてください)

Building native extensions. This could take a while…
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config
mkmf.rb can’t find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

 
5. rails プロジェクト作成

$ rails -d mysql mysqldemo

database.yml ファイル編集

development:
    adapter: mysql
    encoding: utf8
    database: mysqldemo
    pool: 5
    username: testuser
    password: password
    socket: /tmp/mysql.sock

 
6. scaffold 作成

$ script/generate scaffold user email:string name:string age:integer
$ rake db:migrate

 
7. サーバー起動して確認

$ script/server

10 comments so far

  1. payopayo54 on

    はじめまして、MacでRuby on Rails + Mysqlをしたくて、ここにたどり着きました。

    4. gem install mysql

    $ sudo env ARCHFLAGS=”-arch x86_64″ gem install mysql –
    –with-mysql-config=/usr/local/mysql/bin/mysql_config

    のところで、

    エラーになってしまい、実行できません。(すいませんいまエラーを確認できる状況でないので、メッセージを添付できません)

    なにかあらかじめやっておく設定が必要なのでしょうか。
    RubyもMySQLも初心者です。
    急な質問でで大変申し訳ありませんが、ご回答いただければ幸いです。

    • Dongri Jin on

      初めまして、エラー内容がわからないんで何とも言えないですが、一つ気になるのはmysqlのバージョンです。64ビット用をインストールしたでしょうか?(Mac OS X 10.5 (x86_64) をダウンロード)

      • payopayo54 on

        わー、ご回答ありがとうございます。

        MySQLはmysql-5.1.39-osx10.5-x86_64.dmgをインストールしたので、64ビットかと思います。

        エラーをコピーします。お手数ですが、ご意見いただけると助かります。
        mainpc:~ kentaro$ sudo env ARCHFLAGS=”-arch x86_64″ gem install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config
        Building native extensions. This could take a while…
        ERROR: Error installing mysql:
        ERROR: Failed to build gem native extension.

        /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config
        mkmf.rb can’t find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

        Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 for inspection.
        Results logged to /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

  2. Dongri Jin on

    こんばんは、以下のファイルを less コマンドでその内容を見せていただけますか?
    /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
    詳細なエラーメッセージはこのファイルに書かれてると思いますので

  3. payopayo54 on

    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config
    mkmf.rb can’t find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
    gem_make.out (END)

    ですね。

    同じでリレクトリに

    extconf.rb
    mysql.c

    というファイルもあります。
    お手数おかけします。申し訳ありません。
    自分でも引き続きしらべているので、何か分かりましたらポストします。

    このページを見る限り特別な事をしなくてもよいのかなと、かってに思ってしまっているのも原因かなと。Mac暦も今年の6月からなので、そこら辺りで、Macの習慣というか、環境の構築方法などがまだよくわかってなかったりもします。

  4. Dongri Jin on

    Linuxの場合は別に ruby-devel をインストール必要ありますが、SnowLeopardではその必要ありません。自分も最初は32ビット用をインストールしてていろいろ苦労しました。
    勘で思ったのがmysqlのバージョンの問題かと思います。試しに、以下のURLから5.1.38をインストールしてみてください。(5.1.39をアンインストールする必要があります)
    http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.38-osx10.5-x86_64.tar.gz/from/pick

  5. payopayo54 on

    上記のアーカイブ(バイナリ)をインストールしてみましたが、同じエラーになってしまいますね。
    もう少し、自分で調べてみます。このページがすごく分かりやすかったので、つい甘えてしまいました。
    お忙しい所ありがとうございました。
    解決しましたら、またポストさせていただきます。
    それではありがとうございました。

  6. Dongri Jin on

    そうなんでしたか、役に立てずすみません…
    なんか進展ありましたらぜひお願いします。

  7. payopayo54 on

    Xcodeをインストールしましたら、できましたー\(^o^)/

    Xcodeって統合開発環境かと思ってインストールしていませんでした。

    お騒がせしました。ホント申し訳ありません><

    でも、よいブログに巡り会えたのでちょくちょくのぞかせていただきます。
    本当にありがとうございました。
    それでは。

  8. Dongri Jin on

    なるほど!おめでとうございます!
    僕は趣味でiPhoneアプリの開発をやってるため始めからXcodeをインストールしたのでそんな問題に遭遇しませんでしたね、記事に追加しておきます。
    情報ありがとうございました。今後ともよろしくお願いします。(ちなみにTwitterもフォローしちゃいました。)


Leave a reply