天天看點

Mac OS X上編寫 ASP.NET vNext(一)KRE環境搭建

最新的asp.net vnext已經可以支援在mac上運作了,當然用的是mono。相比linux來說,mac的安裝略顯繁瑣。對于大部分用Windows開發asp.net的程式員來說,初次配置還是很費時的。我這裡列出詳細安裝步驟,友善大家開發的同時,也給自己做個備忘。

要運作.Net程式,需要新的KRE環境,至少需要安裝Xcode,Homebrew 和 ASP.NET vNext Command Line Tools。

當然為了日後開發友善,我建議大家一并安裝yeoman,為了安裝yeoman,我們需要nodejs的npm。

總結一下,我們需要安裝以下軟體

1. Xcode

2. Homebrew

3. ASP.NET vNext Command Line Tools

4. nodejs

5. yeoman

如果熟悉Homebrew的,可以直接跳到3。好,那下面我們一步一步安裝。

一、XCode安裝

這個最簡單了,到蘋果官網直接下載下傳就行了,當然你用AppStore下載下傳也行。下載下傳位址是 https://developer.apple.com/xcode/downloads/ 

需要注意的一點是,即使你不準備用Xcode開發,也要運作一次,并同意蘋果的許可協定。否則後面是無法安裝Homebrew的。

二、Homebrew安裝

這個更簡單,直接運作以下指令即可,記住不要畫蛇添足的使用sudo指令,也不要在root使用者下運作,否則會提示不能使用root使用者執行。

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

如果運作出錯,可以參考上面安裝Xcode部分,同意蘋果的許可協定。 安裝完成後,運作

brew doctor
brew update      

進行驗證和更新。 

三、安裝ASP.NET vNext Command Line Tools

安裝完Homebrew後就十分簡單了,運作下面指令安裝

brew untap aspnet/k  //如果以前安裝過,要先解除安裝,第一次安裝不用運作
brew tap aspnet/k
brew install kvm      

安裝完後記住運作

source kvm.sh      

并在.bashrc和.bash_profile檔案中添加上面的指令,否則新開終端會找不到kvm指令。安裝完Tools後運作下面的指令安裝KRE,該指令會根據你的機器下載下傳和配置對應的KRE。對應Mac的是mono。

kvm upgrade      

KRE安裝完成後,就可以使用 k restore, k run和 k kestrel 運作.Net程式了。具體怎麼用,在日後的文章中會做介紹。

四、安裝nodejs

其實到第三步,運作.NET的KRE已經安裝完成了,但是鑒于vNext架構中要用到其他第三方包程式,還要安裝nodejs的npm。

這裡吐槽一下,nodejs老本行不好好搞,卻搞起了包管理,還出了npm企業版。真是無心插柳柳成蔭啊。

由于npm是包含在nodejs裡,直接到nodejs官網下載下傳安裝包安裝就好,簡單便利。位址是 http://nodejs.org 

五、安裝模版工具 yeoman

相信大家都知道,VS在建新項目時會按照模闆生成預設檔案,大大的提高了效率(删多餘檔案比添加必要檔案操作快)。在Mac上就要用到這個工具了,啰嗦一下,這個工具還支援其他語言,大家有興趣可以去研究一下。好了,直接運作下面指令安裝

npm install -g yo
npm install -g generator-aspnet      

安裝完成後,在項目檔案夾下運作

yo aspnet      

然後根據提示按方向鍵,選擇 MVC Application就可以生成模闆了。如果想運作一下,則運作

k restore
k kestrel      

預設是5004端口,浏覽器中錄入 localhost:5004檢視。

好了,Mac上KRE環境至此安裝完畢,可比Windows安裝向導比起來複雜不少,但好歹可以在Mac上開發了,也算大功一件(裝逼一件)。不過缺少IDE,在後面我會教大家搭建IDE,進而開開心心的開發我們下一代的asp.net.

最後的最後,列出相關環境軟體的網站位址,有興趣研究的可以深入研究一下。

Homebrew: http://brew.sh

vNext CLT: https://github.com/aspnet/home#getting-started

Nodejs: http://nodejs.org

Yeoman: http://yeoman.io

繼續閱讀