生まれて初めてMacbookを手に入れました。
いやー、UIが凄くいい!

・・・という訳で、早速開発マシンにしてみました。
買ったmacにはrubyやらjavaやらが既に入っていたので、IDEであるNetBeansを入れてみました。

NetBeansはこちらから

ここから落として、普通にインストール。
Javaのプラットホームを選ばずの利点は大きいなーと思いつつこの辺りはさくさく進みました。
Railsは2.3.5が入ってたのですが、僕は2.3.8なので若干アップデートを行いました。

で、ちょっとハマったのがSVN。
svn+sshでハマって、Twitterで騒いでいたら

PPKの鍵ファイルをmacで使う方法

のページを二人から教えてもらいました。(二人とも同じページだったので、有名なぺーじなのかも・・・。)
PPKはmacでは使えないんですね。。。OpenSSHというのを学びました。
お二人ともありがとうございます!


この辺りで、ターミナルの表示の仕方やDockの使い方になれ始めてきた。
ターミナルがどこにあるか分からない時はいちいち検索して出してました・・・。
ついでにSpacesの使い方もここでマスター。
一気にMacBookが使いやすくなっていきました。
(画面の小ささなんて、Spacesを駆使すればほとんど気になりません。操作が若干増えるけど。。。)

で、次はMysqlをインストール。
これもTwitterで教えてもらったページを参考にやってみたのですが・・・。

このページ です。

これはうまくいかず。
Mysqlのインストールはうまくいったのですが、まず起動しない。

mysqlの公式ページ

から5.5.8の64bit版をDLL。
はじめはtarを落として、しばらく放心していたがDMGを落とすと楽な事に気づいて落とし直し。
インストール自体は簡単にいったが、、、StartupItemやprefPaneがうまくできず。
意味も分からなかったが、、、

StartupItemは起動時の実行スクリプトが入っている模様。
>sudo vi /etc/hostconfig
で初期起動させるかどうかを設定できるものらしい。
(実態は/Library/StartupItems/に格納されている。)

prefPaneは「システム環境設定」のUIで扱えるようにするためのものらしい。
正直あまり必要ない気がした。

で、ハマったのが、、、
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
UIからたたかれているコマンドがこれっぽいのだが、、、だめだ。
動かん。
で、仕方ないのでいろいろ調べていると(中身を追うと)
/usr/local/mysql/support-files/mysql.server
なので
>sudo /usr/local/mysql/support-files/mysql.server start
とうってみる。
に実態発見。
MySQLCOMを直接たたくとログがどこに出てるか分からず苦戦だけど、このコマンドならログがコンソールに出るので対応がしやすい。
で、エラーの原因は・・・。
default-character-set=utf8
でした。
会社でMysqlの5.5から設定が変わるという周知までもらっていたのにやってしまった・・・。
参考はこのページ がいいかも

サーバー側の設定は
character-set-server=utf8
になってるので、みんなも注意してください。
あと、Mysqlを32bitのDMGでインストースした場合は起動する場所がおかしいのか、うまく起動されません。

/etc/my.cnf

/usr/local/mysql/support-files/my-medium.cnf
をコピーして
[mysql.server]
basedir=/usr/local/mysql
と記載してあげるとうまくいきます。
初期起動の位置がなぜか固定されないため、cd /usr/local/mysqlまで移動しないとキックできませんでした。
(これは、上記のcnfへの記載で解消されます。)

で、、、
これでMysqlとは接続できたのですが、、、Railsからができない。。。
gem installで失敗する件はXcodeを入れたら解決したのですが・・・(未だになぜXcodeが必要なのかは謎。)

gem install mysqlは未だに未解決!

なのです。
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
を行っても、gemが入ってマイグレーションに失敗します。
これ、解決できる人いたら教えてください。
(これで失敗したので、Mysqlを32bit版に入れ直したのですが、結果は一緒でした・・・。)

以下、ログ。
分かる人がいたら是非!
(とりあえず、sqlite3を入れて凌ぎました。この辺の記事が欲しい人がいれば書きますが、sqlite3は超簡単なのでほとんどいらないだろう・・・。)
rake aborted!
uninitialized constant MysqlCompat::MysqlRes
/Users/atsushi/.gem/ruby/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:440:in `load_missing_constant'
/Users/atsushi/.gem/ruby/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:80:in `const_missing'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/mysql_adapter.rb:9:in `define_all_hashes_method!'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/mysql_adapter.rb:68:in `mysql_connection'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in `send'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in `new_connection'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:245:in `checkout_new_connection'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:188:in `checkout'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `loop'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `checkout'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:183:in `checkout'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:98:in `connection'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:326:in `retrieve_connection'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:123:in `retrieve_connection'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:115:in `connection'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/migration.rb:440:in `initialize'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/migration.rb:401:in `new'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/migration.rb:401:in `up'
/Users/atsushi/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/migration.rb:383:in `migrate'
/Users/atsushi/.gem/ruby/1.8/gems/rails-2.3.8/lib/tasks/databases.rake:112
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:617:in `call'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:617:in `execute'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:612:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:612:in `execute'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:578:in `invoke_with_call_chain'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in `invoke_with_call_chain'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:564:in `invoke'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2019:in `invoke_task'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `top_level'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `top_level'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2036:in `standard_exception_handling'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1991:in `top_level'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1970:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2036:in `standard_exception_handling'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1967:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/bin/rake:31
/usr/bin/rake:19:in `load'
/usr/bin/rake:19
悲惨です。
まぁ、何はともあれいったん環境は作成完了。
思ったより使いやすいぞ、mac!

この記事も初めてmacで書いてますが、普通に書けます。(デスクトップには劣るけど、それはしゃーない。)
ってことで、こんな記事を読んでくれてありがとう。
そして、救世主求む!



P.S.
あと、謎なのが
.bashrc
これがホームにないし、作っても呼ばれない。

仕方なく、 /etc/bashrcに以下の二行を追加。
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
これでホームに.bashrcがおける。
どこかのサイトに書いてあったのですが、どこか忘れました・・・。