2011年8月3日水曜日

Macの開発環境のセットアップ

書きかけ。

@ebc_2in2crcさんが「MacBook Air買ったひゃっほーい。でもなにから手を付ければいいかわからないんだぜ?」状態になっていました。煽った責任は全く感じていないのですが、セットアップ関係についてちょっとメモしておきます。

開発環境

まず、ターミナルを起動します。

/アプリケーション/ユーティリティ/ターミナル

ターミナルを起動するとbashが待っているので、普通にunixのコマンド群で操作できます。

Javaランタイムのインストール

ターミナルでjavaと打つと、javaランタイムが入っていなければインストーラが起動します。

$ java

Xcodeのインストール

gccなどのコンパイラなどは標準でインストールされていません。Appleの提供するXcodeという開発環境をインストールすると一緒にインストールされるため、Xcodeをインストールします。

App Storeの起動

/アプリケーション/App Store

apple IDでサインインすることが必要です。

アプリケーションの購入(無料アプリもありますが)に利用しますので、さくっと作成してしまいましょう。
サインインした後は右上の検索フィールドにXcodeを入力すれば、検索結果にXcodeが出てきますので、インストールしてください。

XcodeはApp Storeでインストールしても、インストールされるのはインストーラなので、ダウンロードが完了したら「/アプリケーション/install Xcode」を起動してください。この際にiTunesが起動しとりますがな、とエラーが出た場合は、iTunesを終了して、さらに「/アプリケーション/ユーティリティ/アクティビティモニタ」を起動して、右上の検索フィールドに「iTunes」と入力するとiTunes Helperがヒットするので、これも終了してください。

homebrewのインストール

homebrewはmacのパッケージ管理ツールです。

標準でインストールされていないアプリケーションや最新バージョンを利用したいとか標準ではついていないオプションでビルドしたいなどの場合に利用します。gccなど開発ツールを使用するので、Xcodeを先にインストールしておくこと。

インストール方法

$ ruby -e "$(curl -fsSL https://gist.github.com/raw/323731/install_homebrew.rb)"

インストールが完了したらbrew updateしておきましょう。

$ brew update

homebrewでインストールするためのレシピはfomulaと呼ばれています。どんなfomulaがあるか検索したい場合はsearchオプションで可能です。

$ brew search 検索文字列
$ brew search /正規表現文字列/

subversionのインストール

OS Xはデフォルトでsvnがインストールされていますが、macの文字コードの関係で日本語ファイル名の扱いに問題があります。幸い、homebrewで対策済みのsvnをインストールするオプションがあります。

$ brew install subversion --unicode-path
ちなみに、どのようなオプションがあるのかはoptionsで調べることができます。
$ brew options formula名

python3のインストール

$ brew install python3

pipのインストール

pipはpythonのツール管理ツールです。

$ sudo easy_install pip

OS Xではsuは使いません。su権限が必要な場合はsudoで実行します。

mercurialのインストール

メッセージが英語でよい場合はpipでインストールします。

$ sudo pip install mercurial

私は日本語メッセージが欲しかったのでパッケージでインストールしました。インストールされるディレクトリなどはpipと同じです。

bashの設定

普通に$HOME配下に.bash_profileを置いて設定を書きましょう。source .bash_profileで反映されます。以下は参考まで…。

export PATH=/usr/local/bin:$PATH
export HGENCODING=utf-8 # mercurial用
export LANGUAGE=ja
export LANG=ja_JP.UTF-8
export LESSCHARSET=utf-8
export EDITOR=nano
export PS1='[\t \u@\H \W]$ '

vimの設定

$HOME配下に.vimrcを置いて設定を書きましょう。私はあまりvimを使わないので日本語が利用できるくらいしか設定していません。

set enc=utf-8
set fenc=utf-8
set fencs=iso-2022-jp,euc-jp,cp932

NetBeansのニーモニックを消す

OS Xではメニューのニーモニックが不要です。これを消す方法がFaqJaMacNnemonicJaにあります。OS XのFinderはWindowsのExplorerと違ってフォルダを上書きしてしまうので、terminalでやりましょう。

NetBeansのデフォルトエンコーディングをUTF-8にする

NetBeansで作成したファイルの文字エンコーディングはShift_JISです。何かと都合が悪いのでUTF-8に変更します。

NetBeansのデフォルトエンコーディングを変更したい場合はnetbeans.conf内のnetbeans_default_optionsパラメータに-J-Dfile.encoding=UTF-8を追加

/Applications/NetBeans/NetBeans 7.0.app/Contents/Resources/NetBeans/etc/netbeans.conf

NetBeansから起動したJavaアプリケーションの文字コードをUTF-8に変更する

OS XのJDKのデフォルト文字コードはShift_JISなため、NetBeansから起動したtomcatなどのログが文字化けします。Finderから起動したアプリケーションはシェルを介さないので~/.bash_profileに_JAVA_OPTIONSを設定していても読み込まれません。~/.MacOSX/environment.plistに設定したオプションはユーザがログインした際に認識されるため、こちらに設定を書きます。SSHなどでログインした場合を考慮して~/.bash_profileにも同様の設定を行います。

~/.MacOSX/environment.plist

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>JAVA_HOME</key>
        <string>/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home</string>
        <key>_JAVA_OPTIONS</key>
        <string>-Dfile.encoding=UTF-8</string>
    </dict>
</plist>

~/.bash_profile

export _JAVA_OPTIONS=-Dfile.encoding=UTF-8

NetBeansのMercurialで日本語ログをコミットできるようにする

先の_JAVA_OPTIONS同様にHGENCODINGがNetBeansからでは認識されません。対処も同様に~/.MacOSX/environment.plistを編集します。dictの子に以下を追記。再ログイン後に認識されます。

<key>HGENCODING</key>
          <string>utf-8</string>

postgresqlのインストール

homebrewでさくっと。以前はビルドエラーとかあったらしいですが、今は大丈夫です。

$ brew install postgresql

MySQLのインストール

homebrewでさくっと。

$ brew install mysql

/etc/my.cnf

[mysqld]
max_allowed_packet=64M
socket = /usr/local/var/mysql/mysql.sock
character-set-server = utf8
innodb_file_per_table

[mysql]
default-character-set = utf8

[client]
socket = /usr/local/var/mysql/mysql.sock
default-character-set=utf8

操作方法あれこれ

アプリケーションがどこにあるかわからないんだぜ?

デフォルトでは「ctrl+space」で画面右上にspotlightという検索エンジンの検索条件フィールドが表示されます。インクリメンタルサーチでいろいろ探してくれます。ちなみに「ctrl+option+space」で検索ウィンドウが開きます。OS Xではシステムで日本語設定している場合、アプリケーションやシステムが表示するディレクトリなどを日本語表記にしていますが、実体は英語でのファイルパスです。そのようなファイルは日本語でも英語でも検索が可能です。例えば「アクティビティモニタ」は「activity monitor」でも検索にヒットします。

アプリケーションの中のディレクトリにアクセスする

.appはディレクトリなので、Terminalからcdでアクセスすると中に入れます。Finderでアクセスする場合は右クリックでコンテキストメニューの中の「パッケージの内容を表示」でアクセス可能です。

ライブラリフォルダがFinderに表示されない

なにかとアクセスすることが多いライブラリフォルダですが、一般ユーザへの配慮からか、OS X Lionから不可視に設定されました。可視に変更してしまいます。

可視にする

chflags nohidden ~/Library

不可視にする

chflags hidden ~/Library

TerminalのカレントディレクトリをFinderで開きたい

openコマンドで開けます。

$ open .

いろいろインストールしたアプリケーション

App Store

  • dropbox:データストレージサービスのクライアント
  • evernote:クラウド化されたメモ
  • Alfred:ランチャ
  • LimeChat:ircクライアント
  • Cornerstone:svnのGUI

単体インストーラ

  • 1password
  • MacHg:mercurialのGUI
  • CyberDuck:FTPクライアント
  • KeyRemap4MacBook:キーアサイン変更
  • Growl:いろいろ情報通知してくれる

その他の設定もろもろ

dashboardを無効にする

私はdashboardを利用しないので無効化してしまいます。

dashboardの無効化

$ defaults write com.apple.dashboard mcx-disabled -boolean YES
$ killall Dock

dashboradの有効化

$ defaults delete com.apple.dashboard mcx-disabled
$ killall Dock

Spotlightのショートカット

Ctrl + spaceがデフォルトなのですが、この組み合わせは貴重なのでoption + spaceに変更してしまいます。

locateが使いたい

$ sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

ファイル保存時のダイアログのデフォルトを詳細表示にする

$ defaults write -g NSNavPanelExpandedStateForSaveMode -boolean true

もとに戻す

$ defaults delete -g NSNavPanelExpandedStateForSaveMode

印刷のダイアログのデフォルトを詳細表示にする

$ defaults write -g PMPrintingExpandedStateForPrint -boolean true

もとに戻す

$ defaults delete -g PMPrintingExpandedStateForPrint

ネットワークディスクに.DS_Storeファイルを生成しないようにする

OS XではFinderのアイコンの表示情報などを.DS_Storeというファイルで生成します。これはデフォルトでは不可視で、WindowsやLinuxでは不要なファイルです。ローカルでは問題ないのですが、ネットワークディスクにアクセスした場合に他のOSからはゴミとなってしまいますので、ネットワーク上のディスクには生成しないように設定します。

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

dot filesのバックアップ

.bash_profileなどのファイルは中身に機密性がない(.sshとかは別)かつ修正したら自動でバックアップされてほしいということからgithubなどのバージョン管理ではなく、DropBoxを利用してバックアップしています。

オリジナルをDropBoxのディレクトリに移動して、本来あるべき場所からシンボリックリンクを貼るだけです。

作業前にバックアップ

$ cp ~/.vim.rc ~/.vim.rc.bak
$ cp ~/.gitconfig.rc ~/.gitconfig.bak
$ cp ~/.bash_profile ~/.bash_profile.bak

DropBoxにファイルを移動

DropBoxのdotfiles配下(ディレクトリは任意)に設定ファイルを移動する。

$ mv ~/Dropbox/dotfiles/.vim.rc ~/.vim.rc
$ mv ~/Dropbox/dotfiles/.gitconfig.rc ~/.gitconfig
$ mv ~/Dropbox/dotfiles/.bash_profile ~/.bash_profile

シンボリックリンクを貼る

ln -s ~/Dropbox/dotfiles/.gitconfig .gitconfig
ln -s ~/Dropbox/dotfiles/.vimrc .vimrc
ln -s ~/Dropbox/dotfiles/.bash_profile .bash_profile

まだ続く予定。

1 件のコメント:

  1. 貴重な情報ありがとうございます。皆とても助かると思います。

    返信削除