Macのクリーンなセットアップから、Rubyの開発環境構築まで
家のMacで少し不具合が出てしまっていたので、思い切ってクリーンインストールを実行。
実は数週間、休日の時間を割いてバックアップ作業やらをしていましたw
ToDo
- バックアップ
- クリーンインストール
- ソフトウェアアップデート
- システム環境設定・その1基礎設定編
- システム環境設定・その2拡張設定編
- ソフトウェアインストール
- 開発環境
バックアップ
バックアップは以下の方法で
クリーンインストール
id:amachangの記事を見ながらクリーンインストール。
OSのバージョンが違うけど、気にしない。
Macbook (with Snow Leopard) 買った後にやったことまとめ
http://d.hatena.ne.jp/amachang/20090926/1253982602
- 自分メモ
- (なぜか)自分は英語環境を好んで使っているので、キーボードはU.S.キーボード、言語環境は英語、という設定
- はっきり言って何も困らない。
- 特にMacだと、英語環境でセットアップしても、日本語も対応している。
- むしろシンプルになる。
- 日本語未対応のソフトウェアをインストールすることもあるので、環境は日本語でなくて良い。
ソフトウェアアップデート
これもid:amachangの記事そのまま。
セキュリティアップデート含め、色々とアップデートされるので必須。
時間はめっちゃかかる。その間に寝てしまえ!
システム環境設定・その1基本設定編
これもid:amachangの記事をそのまま参考に。
設定値はお好みで。
OSのバージョンが違うので、設定値、設定項目にすこし差異があるけど、気にしない。
CapsLockキーは基本使わないので、速攻ctrlキーへリマップ。キーボードとマウスの設定から変更。
外付けハードディスクにパーティションを切って、TimeMachineの設定もしておく。
システム環境設定・その2拡張設定編
キーリピートを早くする環境設定項目や起動音を消す環境設定を入れる。
- Google日本語入力
- http://www.google.co.jp/intl/ja/ime/
- ことえりもいいけど、補完機能の強さでGoogle日本語入力をインストール
- Growl
- http://growl.info/
- アプリケーションと連動していろんなことを通知してくれる便利な子。
- dmgパッケージ内のextrasディレクトリにあるgrowlnotifyを追加でインストールしておくと、コマンドラインやら自作プログラムからも通知できるようになる。
- StartupSound.prefPane
- http://www5e.biglobe.ne.jp/~arcana/StartupSound/BETA/
- Macが起動するときの「ジャーン」っていう起動音を消してくれるイケてる子
- 勉強会とかに行って、Mac起動して「ジャーン」とか結構ハズイです
- KeyRemap4MacBook
- http://pqrs.org/macosx/keyremap4macbook/
- キーリピートスピードの設定とかできる賢い子
ソフトウェアインストール
いろいろとソフトウェアを入れていく
効率化系
- Quicksilver
- http://www.blacktree.com/
- アプリケーションランチャーの高機能版
- 使い方は、Macの手書き説明書さんをみてください。
- http://veadardiary.blog29.fc2.com/blog-entry-447.html
- InputSwitcher
- http://limechat.net/inputswitcher/index_ja.html
- MacOSX10.5とかだと、IMEの入力ソースの状態をアプリケーション毎に保持してくれていない
- Quicksilver使うときとか、これないといけてない。
- それをうまく保持しておいてくれるいい子。
- SIMBLプラグインなので、SIMBLを先にインストールします。
- バッドハック的なTips
- QuicksilverでIMEの入力ソースの状態を保持させようとすると、最初うまくいかないことがある。
- Quicksilverのアイコンをdockに表示しておくようにすると、問題なく保持しておいてくれる。
- iStat Menus
- http://bjango.com/mac/istatmenus/
- MenuバーにCPUの状態やら、温度やら、メモリの使用量やらを表示してくれる。
- 有料版だけど、個人的には納得の値段。
- Dropbox
- http://www.dropbox.com/
- ファイル共有のあれですね。
- 自分なぜかSugarSyncがうまくいかなかったので、Dropbox使ってます。
- Evernote (using beta version)
- http://www.evernote.com/
- 有名なあれですね。
- インストールしたらEvernoteの環境設定からソフトウェアアップデートの設定で、betaバージョンを使う的な設定をしておくと、勝手にbetaバージョンにしてくれる。
- Divvy
- http://mizage.com/divvy/
- ウィンドウのサイズをグリッドを選んで変更できる、といういい感じのもの
- 有料版だけど、起動時にDemoを押すことで、(多分)ずっと無料で使える
- ショートカットキーも設定できるので、いい感じ。
- DejaMenu
- http://homepage.mac.com/khsu/DejaMenu/DejaMenu.html
- Macだと画面上部に表示されているメニューバー。
- その項目をショートカットキーを使って、ポップアップでその場に表示してくれる優れもの
- ログイン時に起動を自分で設定しなきゃいけないので、環境設定からアカウントへ進んでログイン項目に追加します。
ユーティリティ系
- ClamXav
- http://www.clamxav.com/
- 無料でかつイケテル、ウィルススキャナー
- 駐屯させておく場合、いくらか設定を変更します。
- ログファイルは見ないので、オフします。
- すべてのディレクトリを監視対象にしてしまうと、メモリをやたらと喰うので、絞って設定します。
- Macにはパッケージ管理、という考え方はないので、アップデートの一括管理とアンインストールユーティリティをインストールしておきます。
- AppCleaner
- AppFresh
- 圧縮ファイルの解凍ユーティリティもいれておきます。
- StuffItExpander
- The Unarchiver
- http://wakaba.c3.cx/s/apps/unarchiver.html
- たまにStuffitで解凍できないものもあるので、一応いれてあります。
- StuffitExpanderの方が有名だけど、Unarchiverだけで実はOKだったりするのかな?
ブラウザ
- Chrome
- https://sites.google.com/a/chromium.org/dev/getting-involved/dev-channel
- dev版をインストールします。
- extensionsは、AutoPatchworkとxmarksくらいかな。
- 会社だと、業務向けにもう少しいろいろ入れてる。
- あと、Androidのテーマにすると、Androidがひょこっと顔を出していてかわいい
- https://chrome.google.com/webstore/detail/oeljdmeofcikjblcoehpmdnooimalbmj
- Firefox
- vimperatorを使いたいがために、まだfirefox4には移行しない
- add-onsは以下のような感じ。
- AutoPager
- firebug
- xmarks
- hatena bookmark
- multi links
- vimperator
- XUL/migemo
- SpeedyFox
- http://veadardiary.blog29.fc2.com/blog-entry-3104.html
- Firefoxのゴミ掃除をしてくれるいい子。
Vimperator
お気に入りは、以下のプラグイン
- ime_controller.js
- migemo_find.js
- migemo_hint.js
- feedsomekey_2.js
- _smooziee.js
- copy.js
- char_hints_mod2.js
- bookmarktoolbar-hint.js
wget http://coderepos.org/share/export/38806/lang/javascript/vimperator-plugins/trunk/ime_controller.js wget http://coderepos.org/share/export/38806/lang/javascript/vimperator-plugins/trunk/migemo-find.js wget http://coderepos.org/share/export/38806/lang/javascript/vimperator-plugins/trunk/migemo_hint.js wget http://coderepos.org/share/export/38806/lang/javascript/vimperator-plugins/trunk/feedSomeKeys_2.js wget http://github.com/vimpr/vimperator-plugins/raw/2.3/_smooziee.js wget http://coderepos.org/share/export/38806/lang/javascript/vimperator-plugins/trunk/copy.js wget http://coderepos.org/share/export/38806/lang/javascript/vimperator-plugins/trunk/char-hints-mod2.js wget http://coderepos.org/share/export/38806/lang/javascript/vimperator-plugins/trunk/bookmarktoolbar-hint.js
Office作業系
- iWork
- Keynote(officeでいうところのパワーポイント)は抜群にイケテます。
- 有料でも買う価値あり
- Tree
- http://www.topoftree.jp/tree/
- めちゃくちゃイケテル、アウトラインプロセッサー
- 有料版で少し高いのだけど、そんなコストなど気にならないくらいの快適さを与えてくれる。
メディア系(非必須)
- Tune-up iTunes
- http://desireforwealth.com/software.shtml
- "かゆいところに手が届く"設定系のアプリケーション
- iTunesの設定ができます。
- 個人的には、iTunesがジャンルとかを勝手にローカライズ(「Rock」を「ロック」にかえたりとか)するのが嫌いなので、それをオフにしてしまいます。それだけに使ってます。
- VLC
- http://www.videolan.org/vlc/
- かなりイケテルビデオ再生アプリケーション。
- Flip4Mac
- http://windows.microsoft.com/ja-jp/windows/products/windows-media-player/wmcomponents
- macでもwmv形式のビデオファイルを再生できるようにします
- perian
- http://perian.org/
- quicktimeプレイヤーにCODECを追加してくれるイケテル子。
開発環境
せっせとセットアップしていきますよ
ColorPreference
http://niw.at/articles/2007/11/02/TerminalColoreopard/ja
TerminalのANSIカラーを変更して自分好みに見やすくしてくれるいい感じの設定プラグインです
個人的には、Brightで設定されている色をドラッグドロップで、Brightでない色にも設定してしまうことで見やすくなる気がします
SIMBLEプラグインなので、SIMBLのインストールがまだの場合、先にSIMBLをインストールします
REDと、BLUEの色を調整してあげると、だいぶ楽(terminalのウィンドウ設定がproの場合)
Xcode
OSXのDVDからXcodeToolsを入れておきます
zsh
http://www.zsh.org/
とりあえず、shellの環境をbashからzshに変えたいので、zshから作業します。
source forgeからzshの最新版をダウンロード
terminalを立ち上げて以下のようにインストール
% cd ~/src $ tar xzvf zsh-4.3.10.tar.gz $ cd zsh-4.3.10 $ ./configure --enable-multibyte --enable-locale $ make $ sudo make install
zsh-4.3.10が/usr/local/binあたりにインストールされます。
そうしたら、shellを変更します。
$ chsh
パスワードを求められるので、入力
エディタ画面で、Shell: のところに、zsh-4.3.10のパスを入力して保存。
# Changing user information for takayukisugita. # Use "passwd" to change the password. ## # Open Directory: /Local/Default ## Shell: /usr/local/bin/zsh-4.3.10 Full Name: takayukisugita Office Location: Office Phone: Home Phone:
terminalを起動しなおしてzshになっていれば完了。
一応確認として以下のコマンドで今のshellがなんなのかを確認。
% echo $SHELL
paco
http://paco.sourceforge.net/
package管理をしてくれるイケテル子
と思ったら、macだと動かない?
http://d.hatena.ne.jp/mickey24/20081210/1228851077
今回は使わないことに。
wget
http://www.rokujyouhitoma.com/javapg/2008/01/mac_os_x_105wget.html
macには(BSDには?)wgetがデフォルトでは入っていないので、wgetを入れていきます。便利なので
% cd ~/src % curl -O http://ftp.gnu.org/pub/gnu/wget/wget-1.9.tar.gz % tar xzvf wget-1.9.tar.gz % cd wget-1.9 % ./configure % make % make install
git
http://git-scm.com/
githubで設定ファイルの多くを管理しているので、さっさとgitをインストールします。
といいつつも、やはりそこは、sourceからいんすとーるしませう。
参考にしたのは、http://www.msng.info/archives/2008/10/_git_mac_os_x.php
% cd ~/src % wget http://kernel.org/pub/software/scm/git/git-1.7.3.5.tar.bz2 % tar xvf git-1.7.3.5.tar.bz2 % cd git-1.7.3.5 % ./configure % make prefix=/usr/local all % sudo make prefix=/usr/local install
秘密鍵と公開鍵
githubにアクセスするために、秘密鍵と公開鍵をつくります。
% cd ~/.ssh % ssh-keygen -t rsa -C "hoge@fuga"
公開鍵をコピーして、githubのサイトに設定します。
http://github.com
% cat id_rsa.pub | pbcopy
ちなみに僕の設定ファイルはhttps://github.com/sugilog/dotfilesにあります。
% cd ~ % git clone [githubのsshアドレス]
設定ファイル
zshとかvimとかほかいろいろで設定ファイルを反映させたいのでgithubで管理していたdotfilesにシンボリックリンクをはります。
具体的には、ホームディレクトリ直下に、.なんとかrcってファイルがある状態にします。
% ln -s dotfiles/.zshrc
terminalを再起動してあげると、.zshrcが反映されています!いえい
ちなみに複数環境を使っている関係で、環境に合わせた設定は、.zshrc.localというファイルに切りだしています。
故に、以下のコマンドを追加でしておきます。
% touch .zshrc.local
vim
これは自分のブログに残してあった。
http://d.hatena.ne.jp/sugilog/20100909/1284037843
最新のVimを使いたい!
% cd ~/src % wget http://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2 % tar jxfv vim-7.3.tar.bz2 % mkdir vim73/patches % cd vim73/patches % wget http://ftp.vim.org/pub/vim/patches/7.3/7.3.{001..107} % cd ../ % cat patches/7.3.* | patch -p0 % ./configure --prefix=/usr/local --enable-multibyte --with-features=huge % make % sudo make install
tscreen
http://d.hatena.ne.jp/willnet/20090714/1247564755
http://d.hatena.ne.jp/LukeSilvia/20090713/p1
縦分割もできるscreenを入れておくと結構便利なので、いれておきます。
% cd ~/src % wget http://www.steve.org.uk/Software/tscreen/dist/tscreen-0.4.9.tar.gz % tar xzf tscreen-0.4.9.tar.gz % cd tscreen-0.4.9
上のid:lukesilviaさんのブログで紹介されているpatchを当てます。
そしたらあとは
% ./configure --prefix=/usr/local % make % sudo make install
MacPorts
http://www.macports.org/install.php
http://lapangan.net/darwinports/index.php?TheMacPortsWiki/InstallingMacPorts
MySQLのインストールは、MacPortsを使ったほうが楽(コケない)ので、portを入れておく
% vi .zshrc.local
環境変数を設定します
export PATH=/opt/local/bin:/opt/local/sbin:$PATH export DISPLAY=:0.0
MacPorts本体をソースからいんすとーるしませう
% cd ~/src % wget http://distfiles.macports.org/MacPorts/MacPorts-1.9.2.tar.gz % tar xzvf MacPorts-1.9.2.tar.gz % cd MacPorts-1.9.2/ % ./configure % make % sudo make install
インストールできたら、updateしてあげます。
sudo port -v selfupdate
mysql
portでがしがしいれていきます
sudo port install mysql5-server sudo port load mysql5-server #startupの設定 sudo -u _mysql mysql_install_db5 #データベースの初期設定
mysqlで起動しなくて、mysql5で起動する場合、シンボリックリンクをはってあげます。
which mysql5 #=> /opt/local/bin/mysql5だったとして、 sudo ln -s /opt/local/bin/mysql5 /opt/local/bin/mysql
ruby
http://blog.s21g.com/articles/1600
本体のrubyを入れる。とりあえず1.8.7で。
% cd ~/src % wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p330.tar.gz % tar xzvf ruby-1.8.7-p330.tar.gz % ./configure --enable-shared --enable-pthread --with-readline-dir=/usr/local CFLAGS=-D_XOPEN_SOURCE=1 % make % sudo make install
日本語入力まわりでこけたので、portからreadlineを入れてみる。
% sudo port install readline
けど、まだこけるので、レオさんの言うとおりに入れてみる
% wget ftp://ftp.cwru.edu/pub/bash/readline-6.1.tar.gz % tar xzf readline-6.1.tar.gz % cd readline-6.1 % ./configure --enable-multibyte --enable-shared % make % sudo make install
再度rubyを./configureからはじめる。
と、なにやら./configureでWARNINGが
configure: WARNING: unrecognized options: --with-readline-dir
http://d.hatena.ne.jp/willnet/20090131/1233411175
いらなくなった?
ちなみに、irb --noreadline -Ku、で実行してみたらうまく日本語入力ができた
readlineまわりでしくったなm(__)m(あとでrvmいれるのでそちらを参考に)
gem
デフォルトでインストールされている?gemがちょっとおかしい気がするので、こちらもいれていきます。
なぜか、gem envとうって、でてくるrubyのバージョンが1.8.6!!!がーん
RubyGems Environment: - RUBYGEMS VERSION: 1.0.1 (1.0.1) - RUBY VERSION: 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0]
とりあえず、今入っているgemをのけておきます
% sudo mv /usr/bin/gem /usr/bin/gem_origin
あとはRubyGems.orgからダウンロードしてインストール
% cd ~/src % wget http://production.cf.rubygems.org/rubygems/rubygems-1.5.2.tgz % tar xzvf rubygems-1.5.2.tgz % cd rubygems-1.5.2 % sudo ruby setup.rb
最新版のgemになりました
rvm
railsを入れる前に、そうだ!と思い出して、rvmを入れてみることに。
http://d.hatena.ne.jp/hrsth/20100523/1274590336
ほとんど、そのまんま実行して完了
shellの設定ファイルに追記する内容が少し変わっていた。
-s "$HOME/.rvm/scripts/rvm" && source "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.
こちらもそのままでいけました(失礼しました)
if [[ -s ${HOME}/.rvm/scripts/rvm ]] ; then source ${HOME}/.rvm/scripts/rvm ; fi
gihyoさんのこんな連載も
ちなみに誤解を生まないために、bashスクリプトって書いてあるけどzshでも使えます
http://gihyo.jp/dev/serial/01/ruby/0039
ためしに、rvmでrubyのインストールしてみる。
% rvm list known
ruby-head(最新)を入れてみる
% rvm install ruby-head -C "--enable-shared=true,--with-opt-dir=/opt/local"
irbの日本語入力もちゃんといけてます〜
ここからはGemSetsを利用してrails環境を作ります
rails
http://gihyo.jp/dev/serial/01/ruby/0040
引き続きgihyo.jpの記事を参考に。
rvmにいれたruby-1.8.7-p330のrails2用のgemsetを作ります
% rvm --create use ruby-1.8.7-p330@rails2
あとは通常のgemの操作
% gem install rails2
% rails -v Rails 2.3.11
無事完了です!