Skip to content

setup mac development

inkcarve edited this page Apr 14, 2016 · 26 revisions

(update: version 10.10 Yosemite in 2015-08-03)

Ruby on Rails install on Mac 安裝實務

強烈警告:請絕對不要跳著裝!如果疏漏步驟有可能導致無法復原需要重灌。

系統套件

Mac 系統更新到 10.10 Yosemite

安裝 Command line Tools

參考這篇

gcc => 按確定

xcode-select --install 安裝

xcode-select -p => 出現 "/Library/Developer/CommandLineTools" 這種路徑就完成

安裝 Homebrew

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew update

安裝 git

$ brew install git

安裝 ImageMagick

$ brew install imagemagick

安裝 MySQL

$ brew install mysql
$ unset TMPDIR
$ mysqld -initialize --verbose --user=whoami --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
$ mysql.server start
$ mysqladmin -u root password '123456'

安裝 Redis

$ brew install redis


安裝 RVM 與 Ruby

在建制 Rails 環境的時候,我們可能會有跑不同版本的 Ruby 或者不同的 getsemt 的需求。Ruby Version Manager 是一個能夠讓我們用很優雅的方式切換 Ruby 版本的工具。同時使用系統 Ruby,其實很容易弄髒環境和產生一些靈異現象的 bug。於是我們在建制環境時,通常第一時間就會裝起 RVM。

安裝 RVM

$ \curl -L https://get.rvm.io | bash -s stable

安裝 Ruby

$ rvm install 2.2.0 <== 尾端可選擇自己需要的版本 EX: 1.9.3 , 2.1.2 ... etc

$ rvm use 2.2.0 --default 使用 ruby 2.2.0 為預設版本 (可改自己需要的版本)

安裝完以後記得重開 terminal

安裝 Rails

$ gem install rails –-no-ri

後面的參數是不下載文件,可以省很多安裝時間


其他好用套件

安裝 PostgreSQL (for 發佈免費網站空間 Heroku前置作業)

$ brew install postgresql
$ gem install pg

使用 Pow 作為 HTTP Server

Pow37 Signals open-source 出來的一套 Rack Server。其標榜的就是 Zero Config。

Pow 的原理原理是攔截 routing,導到 Pow 上。所以新增 project 不需要更改 /etc/hosts 就會生效。也因為 Pow 是 rack-based,支援 rack 的 framework 掛了就能跑。

相較起來,以往的 Passenger 搭配 Mac 本機端的 apache 的 solution 就顯得太笨重了。

Installation

Pow 的安裝相當簡單。

$ curl get.pow.cx | sh

即完成安裝。

Setting

Pow 預設的目錄是在 ~/.pow 下。

因此若要讓 project 跑在 Pow 之下。以我的 wiki 為例 :

cd ~/.pow/

ln -s ~/projects/wiki

打開瀏覽器,輸入 http://wiki.dev 就完成了。

使用 Powder 管理 Pow

Powder 是後來衍生出來的一套管理工具。

因為 Pow 的管理有點不易,所有有人寫了這個工具把一些常用的功能包裝起來。

安裝方法:

$ gem install powder

使用方法:

直接在 Rails project 底下

$ powder link 即可完成連結

$ powder open 即可打開瀏覽器瀏覽該專案的運作

$ powder restart 即可重啟專案運作