【Rails】Mac(Lion)でのRails開発環境構築備忘録-その1-

先日手元のwindowsマシンの電源ユニットが逝ったため、念願のMacBookAirを購入しました(・ω・´)

家や仕事では開発環境はMacなのですが、これまで移動中などにちょっとコードを触りたいときには、
windowsに乗せたVMUbuntuか、
iphoneもしくはipadからリモートサーバにsshつないでちょっと試すという、
とてもとてもめんどくさいことをしていたので・・いやもうホント、買い替えは願ったりかなったりでしたw(´・ω・`)

ちなみに、iphoneipadからのssh接続は、私はpromptを使わせていただいています。

ターミナルアプリはいろいろ試しましたが、promptは鍵認証や、tab補完、入力したコマンドの履歴を残していてくれたりと、使い勝手良いですwちゃんとvimも使えますし。


ではでは、しばらく環境構築をしておらず少しはまったところもあるので、まっさらのMacBookAirへのRails環境構築の備忘録を残しておきます。



ちなみに、自分の場合、なので、参考になるかどうかは正直わかりませんw
Railsの環境(前提)は
MySQLを利用
・Rails3以上のプロジェクト
・画像処理を扱うのでImagemagick必須(´・ω・`;)
というところです。
あとは、Rails以外にもObjective-Cを触るという程度でしょうか。

<手順アウトライン>
1. XCODEインスコ
2. MacPortsインスコ
3. MySQLインスコ
4. rvmのインスコ
5. git管理プロジェクトをclone
6. bundle install (キリッ


[1. XCODE]
まず、何はともあれこのコがいないと何も始まらないのでインストールします。
本体はAppStoreからb(もちろん無料ですw)
てか、最近はXCODEもAppStore経由になっているのね(´・ω・`;)

ここは特に問題ないはず。


[2. MacPortsインスコ]
XCODEに続きこのコもいないと話が始まらないのでインストールします。
本体は本家(http://www.macports.org/install.php)から。
とりあえずpkg版で問題ないので、上のページの中段くらいに、
 Mac OS X Package (.pkg) Installer
とあるので、その中から自分の環境にあったpkgをダウンロードします。

このコも特に問題なくインストできるはずです。

また、最新の状態に更新したければ

sudo port selfupdate

しておきましょう。apt-get update と同じ意味です。


[3. MySQLインスコ]
さて、ここからUbuntu等と違う部分です。
まず、MacPortsから入れるMySQL5.x系はmysql5コマンドで起動します。
mysqlではありません。。煩わしい(ボソッ(´・ω・`)
そして、自動起動設定やソケットなどハマるポイントがいくつか見事に用意されていますw

ではでは。
まずは、mysql5系のパッケージを確認します。

>port search mysql5
mysql5 @5.1.59 (databases)
    Multithreaded SQL database server

mysql5-devel @5.5.2-m2 (databases)
    Multithreaded SQL database server

mysql5-server @5.1.59 (databases)
    Multithreaded SQL database server

mysql5-server-devel @5.5.2-m2 (databases)
    Multithreaded SQL database server

fmfm(´・ω・`)

今回は、mysql5-serverを利用します

>sudo port install mysql5-server

だーっとインストが走って、しばらくすると、

--->  Fetching mysql5-server
--->  Verifying checksum(s) for mysql5-server
--->  Extracting mysql5-server
--->  Configuring mysql5-server
--->  Building mysql5-server
--->  Staging mysql5-server into destroot
--->  Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting mysql5-server with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo port load mysql5-server
###########################################################
--->  Installing mysql5-server @5.1.59_0

In order to setup the database, you might want to run
sudo -u _mysql mysql_install_db5
if this is a new install

---> Activating mysql5-server @5.1.59_0
---> Cleaning mysql5-server

と返してきますので、言われたとおりにしましょう。

MySQL5の自動起動設定など

>sudo port load mysql5-server
>sudo -u _mysql mysql_install_db5

そして、ハマリポイントのソケットエラー。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql5/mysqld.sock' (2)

といっても、socketがないといっているだけなので設定ファイルを食わせるだけです。

>sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist
>sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

これで、

>mysql5

で起動するはずです。
それでもエラーが直らなかったら、/opt/local/var/run/mysql5 の所有者がuserなどになっている可能性が高いので、華麗にchownしてください(´・ω・`)

※ちなみにrootパスは自己責任で設定してくださいねw