Skip to content

Instantly share code, notes, and snippets.

@mitomex
Created January 27, 2013 21:42
Show Gist options
  • Save mitomex/4650757 to your computer and use it in GitHub Desktop.
Save mitomex/4650757 to your computer and use it in GitHub Desktop.
Mac OSX fundamental

環境整備

Mac OS 10.7.5 です。 http://protean.cc/osx-web-development-fundamental こちらのページを参考に。

準備

Homebrew を入れるための準備として、

  1. Xcode を App Store からインストール
  2. Xcode をインストールしたら、Xcode の環境設定を立ちあげて、Download タブから Command Line Tool をインストール

※追記(2014.03.19) Command Line Tool が、Download タブになくなった?見つからない場合は、Terminalで以下のコマンドを試してみる

xcode-select --install

これで準備は終わり。次から Homebrew のインストールに入る。

Homebrew をインストール

http://mxcl.github.com/homebrew/ こちらのページを参考に。

1.Terminal を立ちあげて、下記コマンドを実行して Homebrew をインストール

ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

2.終わったら、下記コマンドを実行して Homebrew が無事にインストールされているか確認する

brew doctor

今回は、たまたま問題なく

Your system is raring to brew.

と表示されたが、「バージョンが古いよ」とかのエラーが出る場合があるらしい。

これで、Homebrew のインストールは終わり。

Git をインストール

次に Git を Homebrew でインストール。 念のためここで、git --version でバージョンを確認してみる。

git version 1.7.10.2 ( Apple Git-33 )

となっていた。

  1. 下記コマンドを実行して Git をインストール
brew install git
  1. しばらくするとインストールが終わるので、下記コマンドを実行してみる。
brew doctor

すると、下記のようなエラーメッセージが表示されるようになった。

Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those provided by Homebrew. The following tools exist at both paths:

git
git-cvsserver
git-receive-pack
git-shell
git-upload-archive
git-upload-pack
gitk

Consider amending your PATH so that /usr/local/bin
occurs before /usr/bin in your PATH

Git を使おうとしたときに、Homebrew にある Git ではなく、システムにある Git を使うよ!という警告。なので、Homebrew にある Git を使うように、PATH の指定を追加する必要がある。

PATH というのは、どこにあるかを探すための場所の指示。

PATH の指定を追加する場所は、用途に合わせていくつか存在するらしい。

今回は、.bashrc というファイルに保存しておく。 (これが後で問題となってくるのですが・・・)

自分のホームディレクトの直下に .bashrc ファイルを作成して、

export PATH=/usr/local/bin:$PATH

と記入して保存する。

保存しただけだと、変更が有効になっていないので、

source ~/.bashrc

上記コマンドを Terminal で実行する。

これで PATH が書き換わったので、コマンドを実行した際に見に行く順番が変わり、Homebrew の Git が実行されるようになった。 試しに

git --version

と実行すると、

git version 1.8.1.1

と新しいものに切り替わっていた。

めでたしめでたし、と思いきやこのあと問題が発生。

.bashrc と .bash_profile の違い

ここまで終わって、一度 Terminal を閉じてしばらくした後、再び Terminal を立ちあげて Git のバージョンを確かめてみると、古いものに戻ってました。

なんでーー!?と思い調べてみると、どうやら Mac では Terminal 起動時に .bashrc は読み込まれないとのこと。 http://tstylestudio.com/wp/2010/10/12/158/

なので、こちらのページを参考に .bashrc を起動時に読み込ませる設定を追加してみると、無事毎回 Git を新しいバージョンで使うことができました。

そこで、こもりさんからアドバイスをいただきました。 http://d.hatena.ne.jp/rdera/20080806/p1

上記ページ下部にある「まとめ」に

.bash_profileに指定したいことを書こう。
.bashrcの有益な使いかたができる人は利用しよう。

そもそも PATH の指定などを .bashrc に書き込まず、.bash_profile に書き込んだほうがよさそうです。

これで、Git の管理を Homebrew に移行できた(かな)。

課題

bash の他に、zsh なるものがあるらしい。しかも zsh のほうが高機能とのことなので後で調べる。

nodebrew をインストール

次に Node.js をバージョン管理できるように nodebrew をインストールする。 https://github.com/hokaccha/nodebrew こちらのページを参考に。

1.Terminal を起動して、下記コマンドを実行してnodebrew をインストール

$ curl https://raw.github.com/hokaccha/nodebrew/master/nodebrew | perl - setup

2.PATH の設定を .bash_profile に追加する

export PATH=$HOME/.nodebrew/current/bin:$PATH

nodebrew をインストールするにも、Xcode の Command Line Tool が必要みたい。

Node.js configure error: No acceptable C compiler found!
Please make sure you have a C compiler installed on your system and/or consider adjusting the CC environment variable if you installed it in a non-standard prefix.

こんなエラーが出たときは、Command Line Tool をインストールしてみる。

ここでまたひとつ分からないことが。PATH の設定を追加するときに、Homebrew のときに追加したものと2つ記載しておくのか。それとも Homebrew で追加したものを編集する必要があるのか。とりあえず、2つ並べて書いてみた。

# Homebrew setting
export PATH=/usr/local/bin:$PATH

# nodebrew setting
export PATH=$HOME/.nodebrew/current/bin:$PATH

PATH の書き方を教えていただいた。

export PATH=$HOME/.nodebrew/current/bin:/usr/local/bin:$PATH

このように、「 : 」でつなげて書いていけば良いそうです。 左から順番に PATH を探していく。

bash_profile を書き換えたので、.bash_profile を再読み込みさせる

source ~/.bash_profile

無事インストールされているか、下記のコマンドを実行して確認してみる。

nodebrew help

無事、ヘルプ画面が表示されました。

Node.js をインストール

続いて nodebrew を使って Node.js をインストールする。 https://github.com/hokaccha/nodebrew こちらのページを参考に。

1.Terminal を立ちあげて、下記コマンドを実行して Node.js の安定版をインストール

nodebrew install stable

2.しばらくするとインストールされているので、無事インストールされているか下記コマンドを実行して確認するとインストールされたバージョンが表示される

nodebrew ls

3.インストールした Node.js を使えるように下記コマンドを実行する

nodebrew use v0.8.18

4.再度下記コマンドを実行して、use のところにバージョンが表示されているか確認する

nodebrew ls

Terminal で

node -v

と入力して実行してもバージョンが表示されるようになりました。

これで、 Node.js のインストールが終わりました。

rbenv をインストール

Ruby のバージョン管理を行うために、rbenv を Homebrew を使ってインストールする。 https://github.com/sstephenson/rbenv#homebrew-on-mac-os-xhttp://qiita.com/items/9dd797f42e7bea674705 こちらのページを参考に。

現在の Ruby のバージョンを確認しておく。

ruby -v

すると

ruby version 1.8.7

でした。

1.Terminal を立ちあげて、下記コマンドを実行して rbenv をインストール

brew install rbenv

2.rbenv のプラグインである、ruby-build を下記コマンドを実行してインストール

brew install ruby-build

.bash_profile に rbenv の下記設定を追加する

# rbenv setting
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

.bash_profile を書き換えたので、再読み込みをする

source ~/.bash_profile

rbenv が無事インストールされたか、下記コマンドで確認する

rbenv -v

バージョンが無事表示されました。

これで、rbenv をインストールすることができました。

課題

http://qiita.com/items/9dd797f42e7bea674705http://blog.happyelements.co.jp/2012/10/rbenv.html 2つのページとも、 ReadlineOpenSSL をインストールしている。

この2つについてまだ良くわかっていないので、後で調べる。

Ruby をインストール

rbenv を使って Ruby をインストールする。 http://blog.happyelements.co.jp/2012/10/rbenv.html こちらのページを参考に。

1.Terminal を立ちあげて、下記コマンドを実行して Ruby 1.9.3-p327 をインストール

rbenv install 1.9.3-p327

2.下記コマンドを実行して、無事インストールできているか確認する

rbenv versions

インストールできていれば、system の他にそのバージョンが表示される。

3.インストールした Ruby を下記コマンドを実行して使えるようにする

rbenv global 1.9.3-p327

4.Ruby が無事使えるようになったか、下記コマンドを実行して確認する

ruby -v

無事インストールしたバージョンが表示されました。

Ruby を使えるために実行したコマンドには、3種類のコマンドが存在する。詳しくは、http://blog.happyelements.co.jp/2012/10/rbenv.html こちらのページを参考に。

通常使用するRubyのバージョンを指定する(global)
プロジェクト毎(特定のディレクトリ以下)で使用するRubyのバージョンを指定する(local)
そのシェル内でのみ使用するRubyのバージョンを指定する(shell)

とのことです。

ちなみに、はじめこの3種類が良くわからなかったので、

rbenv local 1.9.3-p327

と実行していました。 で、global に変更したかったので、一度

rbenv local --unset

を実行して、セットしたものを解除しました。

課題

Node.js では nodebrew に安定版をインストールするためのコマンド、nodebrew install stable というのがあったが、それの rbenv 版があるのか調べる。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment