Macで開発したい人のための基本的なことまとめ

More than 1 year has passed since last update.

私のように Ubuntu をずっと使ってきた人が Mac を使った時に抵抗がある部分を書いておきます

正直私は全部覚えているのですが,他人に説明するのが面倒なのでw

Xcode/Command Line Tools は導入済みであることが前提です

Homebrew のインストール

何はともあれ Homebrew を入れましょう

Homebrew — MacPorts driving you to drink? Try Homebrew!

公式サイトの下の方に書かれているコードを実行するだけです

(私が最初にハマったのですが)Homebrew は apt-get とは根本的に異なります

apt-get はバイナリが落ちてきますし,依存関係も壊れることはまずありません

しかし Homebrew はソースコードの URL とコンパイルオプションを所持しているだけなのでコンパイルが走って時間がかかりますし,一発でうまくいく保証は全くありません

しかし brew info とすれば様々な情報も取得出来ますし,brew edit とやれば Homebrew が所有する DSL (言語は ruby ですが,ruby の知識は必要ありません)を直接いじって設定を足すことも容易です

実際 Mac に最適なコンパイルオプションなどを各ツールで調べるのはかなり面倒なので,その辺りの情報が DSL として書かれているコンパイル支援ツールだと思って使えば,かなり心強い味方になってくれますので是非活用しましょう

パッケージ管理システムと思って利用するとすぐに破綻しますので気をつけてください

使用するには PATH の設定を変更する必要がありますので brew doctor の指示にしたがって警告を必ずなくしましょう

一つでも警告が残っていたらうまくいくことはまずないと考えてください

brew infobrew doctor は必須コマンドなので必ず覚えましょう

iTerm2 の導入

デフォルトのターミナルでも困ることはないと思いますが,iTerm2 の方が便利なのでそちらをおすすめします

iTerm2 - Mac OS Terminal Replacement

ここからダウンロードします

ただし Mountain Lion から Mac は App Store 外のアプリを動かすことができなくなっているので以下のページを参考にしてインストールしてください

OS X Mountain Lionで、MacAppStore以外からのアプリを実行する方法 : ライフハッカー[日本版]

Test Releases の方が機能が豊富なのでお勧めですが,Test なので自己責任でお願いします

設定が豊富なので一度覗いてみると面白いと思います

また ⌘-w で iTerm2 が閉じてしまうとやるせない気持ちになるので Preferences > Keys > Glocal Shortcut Keys に Action を ignore にして ⌘-w を追加するとよいです

--追記:
またコメントに書かれているように Send Escape Sequence をした方が特に Emacs ユーザには快適なので自分に合わせた設定をしてください

ls の色など

Mac はデフォルトでは .bashrc は空ですし,ls の色つけなどは無いです

では Ubuntu などのように .bashrc などに alias ls='ls --color=auto' とかすればよいかというと Mac の ls は BSD 由来のものでそのようなオプションは存在しません

単純に色を付けたいだけならば,

export LSCOLORS=gxfxcxdxbxegedabagacad
alias ls='ls -G'

とすれば色がつきます

しかし Linux で一般的な GNU 由来の ls を使いたいという場合は,Homebrew で coreutils を入れるとよいでしょう

ls 以外にも様々なものをインストールしますので環境をあまり汚したくないなどの場合はインストールは控えた方が良いです

インストールした場合は元のコマンドと衝突しないようにプレフィックスとして g を付けた形で(ls は gls)使えるようになります

brew info に詳しい情報が書いてありますが,コマンド名も全て上書きたい場合は PATH を通す必要があります

私はどちらの場合でも対応できるように

if [ -d /usr/local/opt/coreutils/libexec/gnubin ] ; then
  export PATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH
  export MANPATH=/usr/local/opt/coreutils/libexec/gnuman:$MANPATH
  alias ls='ls --color=auto'
else
  export LSCOLORS=gxfxcxdxbxegedabagacad
  alias ls='ls -G'
fi

という風にして coreutils がインストールされていたら GNU 由来のものを使用できるようにし,入っていない場合は BSD の ls に色をつけるようにしています

zsh

デフォルトの zsh は古いので Homebrew でインストールしましょう

その際,brew install --disable-etcdir zsh という風にインストールしましょう

詳しくは brew info を見ましょう

また Mac では brew コマンドは頻繁に使用するので補完がないのはつらいです

zsh-users/zsh-completions

そこでこれを fpath に追加しましょう

brew 以外にも公式で対応していない様々なコマンドの補完ができるようになります

また .zshrc も Ubuntu などと共有できるようにしましょう

私は

[ -f $ZDOTDIR/.zshrc.`uname` ] && source $ZDOTDIR/.zshrc.`uname`

として Mac 依存の設定は .zshrc.Darwin に書くようにしています

またこうすると .zsh 周りの設定ファイルが増えるので ~/.zshenv

.zshenv
export ZDOTDIR=$HOME/.zsh

として ~/.zsh ディレクトリに設定を入れるようにしています

この .zsh ディレクトリを github にあげておくと便利です

Java

文字コードが Shift JIS になっていておかしいので変えておきましょう

alias javac="javac -J-Dfile.encoding=UTF-8"
alias java="java -Dfile.encoding=UTF-8"

.bashrc あたりにやっておきましょう

Emacs

日本語環境のMacにEmacsをインストールする方法 - Qiita [キータ]

私の記事ですが,これを見ればインストールできると思います

先ほどの zsh のように環境依存のファイルを分けたい場合は

init-loader.el と package.el を導入して快適 Emacs ライフ - Qiita [キータ]

私の記事ですが,これを参考にすれば分けられます