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 aspen/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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。