【初心者も安心】Parallelsで、壊しても一瞬で元に戻せる開発環境(OSX Lion)をMac上に作る

ターミナルでコマンドを実行」するのって、結構勇気がいりますよね。

特に初心者の人ほど、

  • このコマンドを実行したら何が行われるのだろうか・・・
  • 取り返しの付かないことになってしまうのではないだろうか・・・

という不安を覚えると思います(僕がそうです)。

何度かの挫折を経て、不安を解消できる方法を見つけたので紹介します。

“【初心者も安心】Parallelsで、壊しても一瞬で元に戻せる開発環境(OSX Lion)をMac上に作る” の続きを読む

【初心者向け】Mac(OSX Lion)でRuby on Railsを動かすための5ステップ


この記事よりも新しい内容があります。
OSX 10.8(mountain lion)ユーザーの方は、こちらをご覧ください。
Mac OSX10.8(Mountai Lion)で Ruby on Railsを動かすための5ステップ

先日、ペパボ社内で(主に)デザイナを対象にして「Rails写経会#01」という勉強会を開催しました。


その時の様子

プログラム学びたい、と思ってるデザイナは多いんだけど「一人でやってると心折れる」んですよね。
じゃあ集まって勉強しようよ、ってことでこの勉強会を開催しました。

一回目は各自のMacの開発環境を整備して、Ruby on Railsが動くところまでをやりました。
整理してみたら、大きく5ステップくらいでRails動かせたので、手順を公開してみます。

Rails興味あるけど動かすまでが大変そう・・・
みたいな気持ちで踏み出せないでいる人向けです。

とりあえずコピペしていけば、Rails を勉強するためのスタートラインに立てるかと思います。

流れはこんな感じ(5ステップ)

特に問題が起きなければ、1時間もかからないと思います。

  1. Xcode インストール
  2. Homebrew インストール
  3. rbenvとruby-build インストール
  4. Ruby インストール
  5. Ruby on Rails インストール

とにかくスタートラインに立つことが大事だと思うので、深く考えずに進めていきましょう。

“【初心者向け】Mac(OSX Lion)でRuby on Railsを動かすための5ステップ” の続きを読む

powder link で出来たURLを変更する

今のURLが hoge.dev だとして、これを hogehoge.dev にしたいときは、

$ powder unlink hoge
$ powder link hogehoge

これで変更できた。

ちなみに unlink hoge せずに link hogehoge すると、どちらのURL(hoge.dev,hogehoge.dev)でもアクセスできた。

さらに powder link hogehoge したあとに、powder link mogemoge すると、hogehoge.dev も mogemoge.dev でもアクセスできなくなったりして混乱した。

現在の状況を見るときは powder -l で。

powder cleanup

~/.pow 以下に、消したアプリケーションのリンク?が残ってるので気持ち悪いなあ、思って調べたら powder cleanupすればいいことがわかった。
解決したよかった。

Pow をもっと便利に使うためのツール比較 – Powder / Powify Comparison – m.igrs.jp

powder の他にも powify ってのもあるんですね。
powder でググったらスノボと美容室ばっかりでてきて困る。

バージョンを指定してRailsアプリケーションを作る

バージョンを指定してRailsアプリケーションを作る場合は、引数にバージョンを指定するとできる。

今、こんな状態。railsは、3.2.3と3.0.10が入ってる。

$ gem list rails 

*** LOCAL GEMS ***

rails (3.2.3, 3.0.10)

んで、rails -vすると、3.2.3 と表示される。

$ rails -v
Rails 3.2.3

ここで3.0.10でrails news したい場合は、

$ rails _3.0.10_ new hogehoge

_でバージョン番号を囲ってあげればOK。
hogehogeはアプリケーション名。

brew updateでエラーが出る

ruby-buildをアップデートしようとして、brew update するとエラー出た。

pplog@pplog ~ $ brew update
error: The following untracked working tree files would be overwritten by merge:
    Library/Formula/autojump.rb
Please move or remove them before you can merge.
Updating f6442dc..4d66bf8
Aborting
Error: Failed while executing git pull  origin refs/heads/master:refs/remotes/origin/master

とかいうエラーが出てアップデートできないときは、

$ cd `brew --prefix`
$ git remote add origin https://github.com/mxcl/homebrew.git
$ git fetch origin                                                                                                                                                          
$ git reset --hard origin/master
$ brew update

これで解決した。

rbenv install の一覧を更新する(1.9.3-p125がない)

ちょっと前にインストールしたrbenv+ruby-buildの環境で、

$ rbenv install

しても、1.9.3-p125 が出てこない場合は、

$ brew update ruby-build 間違えてた。updateじゃなくて upgradeだった。

$ brew upgrade ruby-build

するとインストール可能なリストが更新される。

brew update でエラー出る場合の対処も合わせて書いた。
brew updateでエラーが出る

git-flow 導入

git-flow のインストール

$ brew install git-flow

==> Cloning https://github.com/nvie/gitflow.git
Cloning into /Users/pplog/Library/Caches/Homebrew/git-flow--git...
remote: Counting objects: 324, done.
remote: Compressing objects: 100% (244/244), done.
remote: Total 324 (delta 100), reused 233 (delta 42)
Receiving objects: 100% (324/324), 225.48 KiB | 160 KiB/s, done.
Resolving deltas: 100% (100/100), done.
==> Checking out tag 0.4.1
Submodule \'shFlags\' (git://github.com/nvie/shFlags.git) registered for path \'shFlags\'
Cloning into shFlags...
remote: Counting objects: 454, done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 454 (delta 389), reused 454 (delta 389)
Receiving objects: 100% (454/454), 101.30 KiB | 99 KiB/s, done.
Resolving deltas: 100% (389/389), done.
Submodule path \'shFlags\': checked out \'2fb06af13de884e9680f14a00c82e52a67c867f1\'
==> make prefix=/usr/local/Cellar/git-flow/0.4.1 install
==> Cloning https://github.com/bobthecow/git-flow-completion.git
Cloning into /Users/pplog/Library/Caches/Homebrew/git-flow-completion--git...
remote: Counting objects: 63, done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 63 (delta 22), reused 39 (delta 10)
Unpacking objects: 100% (63/63), done.
==> Checking out tag 0.4.1.0
/usr/local/Cellar/git-flow/0.4.1: 13 files, 132K, built in 11 seconds

初期化

$ git flow init

Which branch should be used for bringing forth production releases?
   - master
Branch name for production releases: [master] 
Branch name for \"next release\" development: [develop] 

How to name your supporting branch prefixes?
Feature branches? [feature/] 
Release branches? [release/] 
Hotfix branches? [hotfix/] 
Support branches? [support/] 
Version tag prefix? [] 

ブランチきる

$ git flow feature start modify-layout-css(ブランチ名)
Branches \'develop\' and \'origin/develop\' have diverged.
And local branch \'develop\' is ahead of \'origin/develop\'.
Switched to a new branch \'feature/modify-layout-css\'

気軽にブランチきれるっていいな。

EC2のメニューはスタバっぽい。

EC2のインスタンスはスタバのメニューに置き換えて考えると分かりやすかった。

インスタンスのメニュー構成

EC2のインスタンスは

  • スタンダード
  • マイクロ
  • ハイメモリ
  • ハイCPU

ってタイプがある。
このタイプがスタバでいうところの飲み物にあたる(本日のコーヒー、フラペチーノ等)。
EC2を使うときはまず、このインスタンスのタイプを決める。

で各タイプの中にそれぞれスペックの違うメニューが用意されている。

  • マイクロ
  • スモール
  • ミディアム
  • ラージ
  • エクストララージ
  • ダブル エクストララージ
  • クアドラプル エクストララージ

これがスタバで言うところの「ショート」「トール」「ベンティ」といったサイズにあたる。

スタバで「カフェラテのトールで」と注文するのと、
EC2で「ハイCPUのミディアムで」と注文するのは同じようなものなのだ。
そう思ってれば多分いいのだ。

けど、スタバと違って全タイプにこのメニュー(サイズ)があるわけではないあたりが最初混乱した。

まとめ

「オーダー入りまーす。ハイメモリ クアドラプル エクストララージー」

「ハイメモリ クアドラプル エクストララージー(復唱)」

EC2は、スタバのメニューで考えたら理解できました。

メモ

m1.xlargeとかc1.xlargeとか記載されてる、m1とかc1ってのは

  • m1 ・・・ ハイメモリ
  • c1 ・・・ ハイCPU

という意味。
c1、m1の[1]は何なんだろう。

ちなみに、インスタンスのタイプをスペックを弱い順で並べ替えると

  • マイクロ
  • スタンダード
  • ハイメモリ、ハイCPU(ここは用途によって使い分け)

になる。