The net is vast
プログラミングや、コンピュータなどの備忘録です。 主にRuby, Java, Linux, 等を扱います。アルゴリズムも扱いたいな。
1:03

Snow LeopardにRailsをインストールする

Category: , By jx
おおかた、世間に出回ってる方法でOK。MacOSX LeopardにRailsをめちゃ綺麗にいれる簡単な方法 - デキルプログラマーになるのだより引用
(1)OSを最新の状態に保つ
ソフトウェアアップデートによってOSを最新版にすること。
(2)ADCから最新版のXcodeをインストール
ほぼ1G近く、ダウンロードに30分を要します。
http://developer.apple.com/jp/
(3)MacPortsをインストール
普通にパッケージ形式で落ちているのでインストールして下さい。
(4)MacPortsをUpdateする
http://www.macports.org/
ここからターミナルを立ち上げます。
sudo port -d selfupdate
sudo port sync
(5)portでMySQLとMySQLデーモンをインストール
sudo port install mysql5 sudo port install mysql5-server
(6)my.cnf(設定ファイル)を作成
sudo cp /opt/local/share/mysql5/mysql/my-small.cnf /etc/my.cnf
(7)my.cnfの設定(編集はvimなりemacsでも使って下さい)
・ソケットの場所変更
socket = /opt/local/var/run/mysql5/mysqld.sock
となっている所全てを
socket = /tmp/mysql.sock
に変更する。
・文字コードを設定 [mysqld] の下に
default-character-set=utf8
skip-character-set-client-handshake
を追記する
(8)MySQLの初期化
sudo -u mysql mysql_install_db5
(9)MySQL自動起動の設定
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
(10)Rubyをportでインストール
sudo port install ruby
(11)Ruby Gemsをportでインストール
sudo port install rb-rubygems
(12)GemsからRailsをインストール
sudo gem install rails
(13)port でrubyのMySQLアダプタをportから入れる
sudo port install rb-mysql
(14)Terminalの設定を変更(デフォルトシェルがbashの場合)
~/.profileに以下の一文を追加
alias mysql="mysql5"
(15)おもむろに再起動
方法はおまかせ(sudo shutdown -r now ・ sudo reboot ・ りんごマーク>再起動)
(16)MySQL接続の確認
mysql -u root
で接続できたら無事完了。後はrailsで適当なプロジェクトを作って実行して下さい。(mysql用dbオプションを忘れずに!)
だいたいこれでOKなんだけど、追加でmysqlのgemをインストールしなければいけない。このときちょっと引数が必要。
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
あとは、下のように、railsのenvironment.rbを変更すればアクセスできます。
# SQLite version 3.x
#   gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
  adapter: mysql
  database: hoge_development
  username: user
  password: pass
  socket: /opt/local/var/run/mysql5/mysqld.sock

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000
 

0 comments so far.

Something to say?