QiitaのBoxen使わなくても許されるのは2012年までだよねを見ながらMountain Lionの環境構築しました。
作業してみた感想を簡単に
上記Qiitaの記事の中で、個人で使うには向かないという記述がありました。理由としては
ただ個人だとそう何度もマシンを一からセットアップする機会がある訳ではない
という感じ
確かに何度もマシンをイチからセットアップすることはないのは事実かと思いますが
- 一定の期間で開発マシンを買い換えるような時
- 新しいOSが出てそれを機会にクリーンインストールして環境構築しなおしたい
という状況が出てきて、そういう時にイチイチ
「これまで使っていたアプリって何だっけ??」 「xxのアプリインストール失敗したけど、これ前にハマったなぁ」 「インストールはサクっと出来たけど、init.el とかのドットファイルとか反映しないと」
と細々とした作業が多々出てくることを考えると、”実行可能な作業記録” として保存されたものがあるのは、ありがたいし、まれにやる作業だからこそ、貴重なものかなと思います。
ツールを使いこなす学習コストとの兼ね合いもあるので、使う段階で最低限
- Unix系OSのオペレーションが出来る(黒画面に抵抗がない)
- Puppetについての知識(Puppetって何なのかは知ってる程度)
は無いとちょっとツラいのかもしれませんが、まぁこういうツールの存在を知ってる時点でこの辺りは問題ないかもしれませんね。^^;
作業を振り返る
基本的には上記手順通りにやれば出来ると思うのですが作業途中でわからない所が出てきました。 単純に自分の知識不足が原因で理解が進まない所があったので、そのあたりをまとめておこうかと思います。
事前準備
Mountain Lionインストール完了した後に、XCode(含むcommand line tool)をインストールしました。
その後に、Git インストール必要かと思ったのですが
which git
としたら、Gitはインストール済だったので、そのままBoxenを使う作業にとりかかり、boxen/our-boxenのコピーを作成するところも手順通りにやって問題なく作業できました。
設定を書く
上記手順をそのまま読み進めて、Puppetfile、manifests/site.ppはそのままにしました。
個人設定の部分で、package を使いこなすの所を見てると、Macアプリをインストール出来るようで、サンプルとして、Kobitoの設定がありました。
.dmgのものもインストール出来るようで、個人的にEmacs24のバイナリ版をインストールしたかったので、
modules/people/manifests/ディレクトリ以下に、自分のGiHubのアカウント名+拡張子ppという名前、つまり、h5y1m141.ppというファイルを作り
class people::h5y1m141 { # homebrewでインストール package { [ 'tmux', 'reattach-to-user-namespace', 'tig', ]: } package { 'Kobito': source => "http://kobito.qiita.com/download/Kobito_v1.2.0.zip", provider => compressed_app; 'emacs24': source =>"http://sourceforge.jp/projects/macemacsjp/downloads/58470/Emacs-24.3-with-inline-patch.dmg", provider => pkgdmg; } $home = "/Users/${::luser}" $src = "${home}/src" $dotfiles = "${src}/dotfiles" }
という内容を記述しました。
Kobitoはインストールできたのですが、本来欲しかったEmacs24が/Applicationsに無いので、インストール出来てないのでこれは書き方間違えたのかなと思ってます。
上記Qiitaの手順にあったプロジェクト設定、チーム設定は一旦パスして、ひとまずインストールを実施しました
Boxenを実行
上記Qiitaの手順ではディスク暗号化する内容になっていましたが、ひとまず暗号化を行わない場合のやり方を採用して
script/boxen --no-fde
としてBoxen実行しました。
script/boxen --no-fde Need to install Bundler for system ruby, password for sudo: Successfully installed bundler-1.3.5 1 gem installed
あとは実行したら、勝手にインストール・・と思ったら途中、以下のようにGitHubのアカウント名とパスワード入力を促されたので、それを入力したら後は勝手に作業進んでいきました
--> Hey, I need your current GitHub credentials to continue. GitHub login: |hoyamada| h5y1m141 GitHub password: ********
以下のようなログが延々画面に表示されるので、あとは放置してました
Notice: Compiled catalog for hiroshioyamada-no-macbook-air.local in environment production in 1.90 seconds Notice: /Stage[main]/Boxen::Config/File[/opt/boxen/bin]/ensure: created Notice: /Stage[main]/Boxen::Config/File[/opt/boxen/data]/ensure: created Notice: /Stage[main]/Boxen::Config/File[/opt/boxen/data/project-sockets]/ensure: created
インストールが完了した後
インストールが完了したように見えたので試しに
rbenv -bash: rbenv: command not found
とかしたのですが、brew は見つからないと怒られました。。
何でだろうと思ったのですが、Qiitaの情報を見ると、自分が使ってるShellのPathの設定をしないといけないとのことで、その情報を見る限り、Boxen経由でインストールしたものは/opt/boxen配下になるようで、実際 ls commandで以下のようにしたらきちんとrbenvがありました
ls -al /opt/boxen total 16 drwxr-xr-x 14 hoyamada staff 476 10 17 14:29 . drwxr-xr-x 4 root wheel 136 10 17 14:36 .. -rw-r--r-- 1 hoyamada staff 92 10 17 14:21 README.md drwxr-xr-x 3 hoyamada staff 102 10 17 14:21 bin drwxr-xr-x 4 hoyamada staff 136 10 17 14:31 cache drwxr-xr-x 6 hoyamada staff 204 10 17 14:30 config drwxr-xr-x 5 hoyamada staff 170 10 17 14:21 data drwxr-xr-x 10 hoyamada staff 340 10 17 14:30 env.d -rwxr-xr-x 1 hoyamada staff 991 10 17 14:21 env.sh drwxr-xr-x 16 hoyamada staff 544 10 17 14:33 homebrew drwxr-xr-x 4 hoyamada staff 136 10 17 14:30 log drwxr-xr-x 10 hoyamada staff 340 10 17 14:30 nodenv drwxr-xr-x 14 hoyamada staff 476 10 17 14:29 rbenv drwxr-xr-x 3 hoyamada staff 102 10 17 14:39 repo HiroshiOyamada-no-MacBook-Air:boxen hoyamada$ ls -al /opt/boxen/repo/ total 0 drwxr-xr-x 3 hoyamada staff 102 10 17 14:39 . drwxr-xr-x 14 hoyamada staff 476 10 17 14:29 .. drwxr-xr-x 10 hoyamada staff 340 10 17 14:39 .git
まとめ
自分にとってはBoxen使う上での学習コストはそれほど大きくなく、何よりもコマンド一発である程度環境構築が自動的に行われるのは、空き時間を有効活用出来るので魅力的なツールかなと思います
Titaniumの環境構築、Genymotion・・・と細かいものは手を付けてないですが、作業の流れはこれで理解出来ましたなので、残りのアプリについてもBoxen使って設定しようかと思います