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

Rails2.0のScaffoldを使ってみる

バージョンアップされていろいろ変わりました。今回はプロジェクトの生成と簡単にScaffoldを使ってみました。

macbook:rails king$ rails demo
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create config/initializers
create db
create doc
…..
create public/javascripts/application.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log
macbook:rails king$ cd demo
macbook:demo king$ vi config/database.yml
# SQLite version 3.x
# gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
# adapter: sqlite3
# database: db/development.sqlite3
# timeout: 5000
adapter: mysql
database: demo
host: localhost
username: king
password: {password}

macbook:demo king$ script/generate scaffold user email:string name:string age:integer
exists app/models/
exists app/controllers/
exists app/helpers/
create app/views/users
exists app/views/layouts/
exists test/functional/
exists test/unit/
create app/views/users/index.html.erb
create app/views/users/show.html.erb
create app/views/users/new.html.erb
create app/views/users/edit.html.erb
create app/views/layouts/users.html.erb
create public/stylesheets/scaffold.css
dependency model
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/user.rb
create test/unit/user_test.rb
create test/fixtures/users.yml
create db/migrate
create db/migrate/001_create_users.rb
create app/controllers/users_controller.rb
create test/functional/users_controller_test.rb
create app/helpers/users_helper.rb
route map.resources :users
macbook:demo king$ rake db:migrate
(
in /Users/king/develop/localhost/rails/demo)
== 1 CreateUsers: migrating ===================================================
— create_table(:users)
-> 0.0032s
== 1 CreateUsers: migrated (0.0033s) ==========================================

macbook:demo king$ script/server

ブラウザで確認してみる。http://0.0.0.0:3000/users/new

rails-scaffild.png

Mac OS X 最高

Mac OS X = Unix + Windows

ずっ〜と前から欲しかっていたMacbookを買っちゃいました。昔はMacではWord, ExcelなどMSのOfficeを使うことができないので不便だと思ってたので体験してみたかったが我慢して買ってませんでした。今はMSもMac版のOfficeを開発してるし、OpenOfficeのような無償のソフトもたくさん出ていてそんな心配は要らなくなりました。それに2005年からはIntel製のCPUを使っていて、同じマーシンにWindowsも入れることが可能でした。値段的にもかなり安くなって、一番安いのはなんと13万円で買えることになってました。

自分が「使ってみたい」と思ったのはあのRubyOnRailsでした。 デモビデオをみるとあのエディタ(TextMate)、あのMySQLクライアントソフト(CocoaMySQL)が格好よくてやばい!RubyOnRailsチームがメインで使ってる開発環境がMacOS Xでした。Macも開発環境になれるなら使ってみようじゃないか、思って買っちゃいました。

使ってみて「なるほど」と思いました。MacOS X はBSD Unixをベースに作ったOSなので、FreeBSDと非常に似てまして、Unixを触った人にとっては違和感はないと思います。ソフトのインストールも非常に簡単でアプリそのものを /Applications に入れるだけです。デフォルトと最新バージョンのApache, Perl, Ruby などがインストールされていて、開発にも向いてるなと思ってました。これだけではなくて、Rails もデフォルトで入ってるので、そのまま使えます。

MacOS X をまだ深いところまで研究はしてないが、素人にもプロにも向いたOSなんで、これからMacが普及しはじめるんじゃないかと思います。

Mac Book - Black