Mac OS X 下安裝CoffeeScript環境: 兼談Mac OS X下的包管理

最近SF開展了「統一開發平臺爲Mac」的運動,我也從Ubuntu切換到了Mac OS X。本文記錄一下如何在Mac OS
X下安裝CoffeeScript環境,以備之後參考。但願對別人也有用。node

Mac OS X下安裝CoffeeScript的方法和Ubuntu同樣,使用npm安裝:git

sudo npm install coffee-script

全文完github

呃,短了點,可是真相就是如此,有了npm,在Mac OS X上安裝CoffeeScript環境就是這麼簡單。macos

Node

等等,我說了「有了npm」,若是沒有npm怎麼辦?npm

還能怎麼辦?裝唄。Node自帶npm,因此只要安裝Node就能夠了。ruby

Mac OS X下安裝Node,可使用node官網提供的pkg。不過我據說Mac
OS X下用homebrew裝軟件很有逼格方便,因此選擇使用homebrew安裝:app

brew install node

brew

好吧,其實須要安裝了Homebrew纔有brew命令。事實上安裝配置Homebrew還有點小麻煩,因此這裏順便也記錄一下。curl

Homebrew是Mac OS X下的包管理器,固然不是官方的,是有愛的開發者本身搗鼓的,基本算是Mac OS
X下包管理的事實標準了,差很少至關於Ubuntu下的apt。工具

安裝Homebrew很簡單,一樣只須要一條命令:網站

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

等等,其實沒有那麼簡單,由於Homebrew依賴Xcode……

是的,爲了使用Homebrew,你須要下載安裝好幾G的Xcode!固然,大部分使用Mac OS X的開發者應該已經安裝了Xcode,不過像我這樣沒玩過Objective C的人就……

其實Homebrew只是須要Xcode內置的gcc而已,並不須要Xcode。因此,若是不用Xcode開發的話,只須要安裝Xcode命令行工具便可,這個工具能夠在Apple開發者網站上下載。

下載的話,須要註冊Apple開發者,註冊是免費的。若是你不肯意填那幾個無聊的表格的話,你能夠本身編譯一個gcc——反正homebrew只是須要gcc而已。

等等,編譯gcc好像須要Xcode,這不是死循環嘛!坑爹!

好在有好心人幫咱們編譯好了,咱們只要下載安裝下就能夠了。

好了,安裝好Xcode或Xcode命令行工具或osx-gcc後,再運行上面的那行命令就能夠成功安裝homebrew了。

對了,若是你brew的軟件須要X11環境的話,你還須要安裝XQuartz才行。我只用brew安裝命令行工具,因此就沒裝這個。

Fink和macports

Node wiki的安裝指南上還看到兩個東東,Fink和macports,這是神馬?

瞭解了一下,這是Mac OS X 上的另外兩個包管理器。

MacPorts

MacPorts,本來叫DarwinPorts(Darwin是Apple發佈的一個開源的操做系統,是Mac OS X的基礎。粗略地說,Mac OS X去掉Cocoa、Quartz、圖形用戶界面以及一堆驅動就是Darwin了)。MacPorts是2002年開始的項目,可謂歷史悠久。

用MacPorts安裝軟件是這樣的:

sudo port install packagename

MacPorts和Homebrew的區別主要是:

  • MacPorts的軟件依賴是本身搞一套,好比Python、Ruby什麼的都本身弄一套,理由是不會由於系統自帶的版本太老舊而出問題;Homebrew的哲學則是,既然系統預裝了,爲何不用呢?
  • MacPorts認爲/usr/local應該留給用戶自行編譯安裝的軟件,因此用macports安裝的軟件都放在/opt/local/。Homebrew採起了簡單的方案,將軟件安裝到/usr/local
  • MacPorts 使用 TCL 編寫,Homebrew 使用 Ruby。

Fink

Fink的歷史也不短,是2000年開始的項目。簡單地來講Fink是把Debian/Ubuntu下的apt移植到Mac OS X和Darwin下。因此它理所固然地使用了Perl語言。

使用fink安裝和刪除軟件:

fink install nedit
fink remove nedit

軟件都安裝在/sw目錄下,單搞一個目錄的理由和MacPorts相似。

由於是移植apt,因此fink提供的都是二進制安裝包,(這就意味着軟件包的更新須要等志願者打包……)而MacPorts和homebrew默認是編譯安裝。這也致使fink的包一般而言會比較舊一點。從DIY的角度,給HomeBrew寫條Formula真是so easy,MacPorts由於用TCL,因此寫起來囉蘇一點,而fink打包就麻煩得多了。

呃,好像跑題了? 話說我原本只是想裝一些CoffeeScript的說~ 怎麼一個早上就這麼不知不覺地過去了……這難道就是傳說中的「結構性拖延」?

相關文章
相關標籤/搜索