然而最近我又整個“叛逃”到了 Mac 上, 那Mac上有什么類似的包管理器嗎? 嗯, 有 MacPorts, 有 Fink .Fink我沒怎么用, 倒是MacPorts用的不少, 確實是挺方便的, 我也用了好久. 但是, MacPorts的一些惡心的行為一直讓我不爽, 比如我只想裝個php, 他居然連帶 apache2 等一大堆東西都給裝上了, 還不能拒絕 :-( ,再比如有時候明明有些依賴的程序包我機器里已經裝好了, 它偏偏不用, 硬是要去下載幾十M的源碼來自己編譯, 上帝啊,邪惡的美帝根本不會體諒兲朝的小水管呀~~~~然而我一直只能忍著, 忍著…..
直到我遇到了Homebrew
Homebrew是一個全新的程序包管理器, 用 Ruby 開發(fā)而成, 輕巧, 智能. 它能自動判斷當前機器的程序包的狀況,自動和系統(tǒng)中已經有的程序包整合在一起, 有了Homebrew, 世界清凈多了 ^_^
安裝Homebrew:首先, Homebrew 聲明自己和 MacPorts 和 Fink 不兼容, 用它就不要用 MacPorts(或Fink) , 用MacPorts(或Fink) 就不要用它, 夠絕…我喜歡.
先把 MacPorts 請出門:
Hackintosh:~liang$ sudo port -f uninstall installed
Hackintosh:~liang$ sudo rm -rf
/opt/local
/Applications/DarwinPorts
/Applications/MacPorts
/Library/LaunchDaemons/org.macports.*
/Library/Receipts/DarwinPorts*.pkg
/Library/Receipts/MacPorts*.pkg
/Library/StartupItems/DarwinPortsStartup
/Library/Tcl/darwinports1.0
/Library/Tcl/macports1.0
~/.macports
稀里嘩啦, 清理了一堆我永遠用不到然而 MacPorts 硬給我裝上的東西, 干凈多了. 然后是安裝 Homebrew,Homebrew 是用 Ruby 開發(fā)的, 這意味著, 你需要有一個 Ruby 解析器, 好在 Mac 默認已經自帶了.
Hackintosh:~liang$ ruby -e “$(curl -fsShttp://gist.github.com/raw/323731/install_homebrew.rb)”
接下來就是全自動安裝, 安裝時間根據(jù)網(wǎng)絡速度而定, 我去泡杯咖啡先….
==> Downloading and Installing Homebrew...
==> Installation successful!
</blockquote>
搞定!試一下:
<blockquote>
<pre>
Hackintosh:~liang$ brew -v
0.6
Hackintosh:~liang$ brew install wget
==> Downloadinghttp://ftp.gnu.org/gnu/wget/wget-1.12.tar.bz2
########################################################100.0%
==> ./configure --disable-debug--prefix=/usr/local/Cellar/wget/1.12 --disable-iri
==> make install /usr/local/Cellar/wget/1.12: 7files, 540K, built in 47 seconds
Hackintosh:~liang$ which wget
/usr/local/bin/wget
可以看出來 Homebrew 把 wget 安裝到了 /usr/local/bin 目錄下, 清爽多了吧??
MacPorts 命令詳解
MacPorts是一個mac電腦中常用的非常有用的軟件編譯,安裝,管理開源軟件的軟件.
它有很多優(yōu)點,會自動安裝一個軟件所依賴的軟件,提供卸載方法.
MacPorts沒有圖形界面,這里介紹一些常用的命令.
port常用命令列表
help
selfupdade
sync
list
search
info
deps
variants
install
clean
uninstall
contents
installed
outdated
upgrade
dependents
help
help通常用來查看某個指令的幫助說明
port help selfupdate
selfupdate
同步本地和全球的軟件樹,有必要時,同時升級mac port自己.
sudo port selfupdate
sync
同步本地和全球的ports tree,但不檢查自己是否有更新.
sudo port sync
list
列出當前所有的可用軟件,如果想查找是否有自己想要的軟件時,還是使用search指令方便一些.
port list
search
模糊搜索,可以匹配軟件名字和描述,還有更高級的用法,具體看port help search
port search rrd
info
查看一款軟件的詳細信息
port info flowd
deps
查看一款軟件的依賴關系
port deps apache2
variants
在安裝軟件前,用這個命令查看軟件是否有多個版本.再選擇安裝一個合適的版本.
port variants nmap
install
安裝軟件命令,安裝前最好使用variants命令查看是否有多個不同版本.
sudo port install nmap
clean
刪除一些編譯軟件時留下的臨時文件.
port clean --all vile
uninstall
卸載軟件命令
如果這個軟件依賴與另外的一款軟件,默認不刪除它依賴的軟件,
使用參數(shù) -f(force) 可以強行刪除它依賴的軟件.
port -f uninstall vile
contents
顯示軟件安裝后的文件列表.
port contents xorg-renderproto
installed
列出全部或者指定的已經安裝的軟件.
port installed
port -v installed atlas
outdated
查看已經安裝的軟件是否有更新,在執(zhí)行這個指令前,先執(zhí)行selfupdate 或者 sync更新軟件樹
upgrade
更新軟件,默認一起更新它依賴的所有軟件,如果想不更新它依賴的軟件,使用 -n 參數(shù)
默認不刪除舊軟件版本,只是使舊軟件變成無效狀態(tài),如果想要一起刪除舊軟件,使用 -u 參數(shù)
port upgrade gnome
port -n upgrade gnome
更新所有的可更新軟件
port upgrade outdated
更新軟件同時刪除舊版本軟件
port -u upgrade vile
dependents
查看哪些軟件時依賴與這個軟件的.刪除一個軟件時候,最好先執(zhí)行一下這個命令.
port dependents openssl
這里要說的是刪除MacPorts并安裝Homebrew.
準備條件:
Mac是自帶Ruby程式的,如果你之間”處理”過它,記得要確保它的存在.用ruby -v查看下版本號.
安裝xcode
打開Terminal(終端)
刪除MacPorts:
#原版使用MacPorts安裝過的軟件在/opt/local目錄下,刪除之前最好查看下,心里有個數(shù).
sudo port -funinstall installed
sudo rm -rf
/opt/local
/Applications/DarwinPorts
/Applications/MacPorts
/Library/LaunchDaemons/org.macports.*
/Library/Receipts/DarwinPorts*.pkg
/Library/Receipts/MacPorts*.pkg
/Library/StartupItems/DarwinPortsStartup
/Library/Tcl/darwinports1.0
/Library/Tcl/macports1.0
~/.macports
No sudo:
sudo chown-R `whoami` /usr/local
#不用每次都執(zhí)行sudo操作
安裝Homebrew:
curl -Lhttp://github.com/mxcl/homebrew/tarball/master | tar xz –strip 1 -C/usr/local
exportPATH=/usr/local/bin:$PATH
#等完畢后就安裝好了,安裝在了/usr/local目錄下,可通過brew -v查看版本號
通過Homebrew安裝軟件:
查找你需要的軟件使用brew search * 命令,安裝使用brew install*命令(用具體的軟件名稱替換*),下面演示:
brew searchgit
brew installgit
如果你想安裝vim,wget或者unrar等其它各類軟件,都這么做去吧.
另外,你已經安裝了git了,那么建立了本地的git倉庫,執(zhí)行如下:
cd/usr/local
gitinit
git remoteadd origin git://github.com/mxcl/homebrew.git
git pullorigin master
如果GitHub上有項目,也可直接拿下:
git clonehttp://github.com/YOURGITHUBUSERNAME/homebrew.git/tmp/homebrew
其它Homebrew指令:
brewlist —列出已安裝的軟件
brewupdate —更新Homebrew
brewhome *—用瀏覽器打開
brewinfo *—顯示軟件內容信息
brew deps *— 顯示包依賴
brew server* —啟動web服務器,可以通過瀏覽器訪問http://localhost:4567/來同網(wǎng)頁來管理包
brew -hbrew —幫助
刪除Homebrew:
萬一你用的不爽了,告訴你卸載指令:
cd `brew–prefix`
rm -rfCellar
brewprune
rm -rfLibrary .git .gitignore bin/brew README.mdshare/man/man1/brew
rm -rf~/Library/Caches/Homebrew
Homebrew用Ruby語言開發(fā),支持千余種開源軟件在 Mac OS X 中的部署和管理。Homebrew 項目托管在 Github上,網(wǎng)址為:https://github.com/mxcl/homebrew。
首先是安裝 Homebrew,執(zhí)行下面的命令:
$ ruby -e "$(curl -fsSLhttps://gist.github.com/raw/323731/install_homebrew.rb)"
安裝完成后,Homebrew 的主程序安裝在 /usr/local/bin/brew 中,在目錄/usr/local/Library/Formula/ 下保存了Homebrew 支持的所有軟件的安裝指引文件。
執(zhí)行下面的命令,通過Homebrew安裝Git。
$ brewinstall git
使用 Homebrew 方式安裝,Git 被安裝在/usr/local/Cellar/git/<version>/中,可執(zhí)行程序自動在 /usr/local/bin 目錄下創(chuàng)建符號連接,可以直接在終端程序中訪問。
通過 brew list 命令可以查看安裝的開源軟件包。
$ brewlist
git
也可以查看某個軟件包安裝的詳細路徑和安裝內容。
$ brew listgit
/usr/local/Cellar/git/1.7.4.1/bin/gitk
...
homebrew的安裝步驟:
安裝之前先執(zhí)行一下 sudo chown -r `whoami` /usr/local 這樣就不用每次都用sudo了。
curl -lhttp://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1-c /usr/local
export path=/usr/local/bin:$path
brew install git
cd /usr/local
git init
git remote add origingit://github.com/mxcl/homebrew.git
git pull origin master
homebrew的使用:
搜索軟件:brew search 軟件名
安裝軟件:brew install 軟件名
列出已安裝的軟件:brew list
更新homebrew的新版本: brew update
1、安裝Ruby,
找到”最新發(fā)布項目”,點擊”下載”,進入下載列表頁面。
該頁面列出了Ruby當前的所有版本,寫本文時最新版本是:1.8.6-25。版本發(fā)布日期:2007-03-18
2、下載”ruby186-25.exe”,大約22M。然后安裝。One-ClickInstaller 一鍵安裝,很適合新手。
3、學過Java的都知道,接下來需要配置ClassPath,在環(huán)境變量中新增環(huán)境變量名”RUBY_HOME”,變量值”D:ruby”,該值以本機Ruby安裝目錄為準。然后在 path加入”%BURY_HOME%bin”。
4、測試Ruby是否安裝成功
在命令行下運行 ruby -v ,顯示如下:
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
如果不放心,再運行 ruby -e ‘puts “hello world”‘ ,顯示如下:
hello world
在l ion下安裝rails會提示你的ruby版本為1.8.7,而新版本的rails3.x需要1.9.x的ruby支持。
所以,必須對ruby進行升級,經過各種凌亂和不成功終于摸索出經驗。現(xiàn)在記錄一下。
通過appstore安裝xcode
xcode安裝好后,打開xcode
選擇preferences
選擇downloads選項卡
安裝commandline tools(因為終端里沒有gcc的編譯環(huán)境)
打開終端輸入下面兩條命令(安裝rvm,ruby多版本控制器,通過rvm安裝最新版本的ruby)
curl -Lget.rvm.io | bash -s stable
rvm installruby 1.9.3
安裝RVM命令:
bash < <( curlhttp://rvm.beginrescueend.com/releases/rvm-install-head)
然后修改用戶配置文件/Users/username/.profile,你也可以寫到別的全局配置里.
添加一行代碼:
[[ -s "$HOME/.rvm/scripts/rvm" ]]&& ."$HOME/.rvm/scripts/rvm" # This loads RVM into ashell session.
如果"$HOME/.rvm/scripts/rvm" 存在,則執(zhí)行
重啟Terminal,RVM就安裝好了. RVM的使用過程中不需要使用sudo,gem也不需要.
然后就可以安裝ruby了,例如:
rvm install ruby-1.8.7 --head --docs
--docs是編譯安裝后自動生成文檔,--head是最新的版本
刪除某個版本的ruby,并且把文檔和gems都刪除,則:
rvm remove ruby-1.8.7 --docs --gems
選擇版本:
rvm use ruby-1.8.7 --default
查詢當前版本:
rvm info
列出版本:
rvm list
rvm除了可以管理不同的ruby版本外,還可以為每個ruby版本創(chuàng)建不同的Gem集合(gemsets),從而使不同的Ruby應用可以獨立使用自己的Gem集合。比如在使用ruby-1.9.2-p290的情況下,我需要建立兩個rails工程,一個使用rails-3.0,一個使用rails-3.1.0,我們便可創(chuàng)建兩個gemset,并在各個gemset下分別安裝對應的rails版本和所需其他Gem:
rvm gemset createrails-3.0#創(chuàng)建名為rails-3.0的gemset
rvm1.9.2-p290@rails-3.0#使用ruby-1.9.2-p290并使用rails-3.0 gemset
gem install rails -v3.0#在rails-3.0 gemset下安裝rails的3.0版本
rvm gemset createrails-3.1.0#創(chuàng)建名為rails-3.1.0的gemset
rvm1.9.2-p290@rails-3.1.0#使用ruby-1.9.2-p290并使用rails-3.1.0 gemset
gem install rails -v3.1.0#在rails-3.0 gemset下安裝rails的3.1.0版本
現(xiàn)在就開始使用rvm安裝ruby
1.打開終端,必須先安裝git.
bash -s stable < <(curl -shttps://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
等待rvm安裝好之后,配置環(huán)境變量,在當前用戶目錄下輸入
sudo vim .bash_profile
在.bash_profile文件中加入
[[ -s "$HOME/.rvm/scripts/rvm" ]]&& source"$HOME/.rvm/scripts/rvm"
source一下,就可以使用rvm了。
3.下面開始安裝ruby了。
查看資源。
rvm listknown
4.安裝ruby
rvm installruby --head
5.使用ruby
rvm use1.9.3 --default
5.更換源
gem update--system
gemuninstall rubygems-update
gem sources-r http://rubygems.org/

gem sources-a http://ruby.taobao.org
6.安裝rails
gem installrails -V
-V查看過程
愛華網(wǎng)



