最新的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

Mac OS X上编写 ASP.NET vNext(一)KRE环境搭建的更多相关文章

  1. Mac OS X 上编写 ASP.NET vNext (二) IDE配置

    上一篇中介绍了如何在OS X上搭建.Net运行时.不过光有运行时还不够,还需要有一个好用的IDE,有了IDE的支持,OS X上的开发才称为可能. 和上篇类似,这里先列举出具体步骤,个人可以根据自己的情 ...

  2. Mac OS X上编写 ASP.NET vNext 系列中断和再开声明

    这个系列其实已经中断有一段时间了,主要是由两个原因: 第一是微软那边把以前的KRE改成了XRE,所以导致前两篇有点过时了. 第二是自己年前1月份被裁员,Mac的机器被回收,再加上忙于和公司扯皮和找工作 ...

  3. 简单理解在Mac OS X上运行ASP.NET程序

    运行ASP.NET程序的三要素: 1) CLR(.NET运行时) 2) KRE(ASP.NET运行时) 3) Web服务器 所以在Mac OS X上运行ASP.NET程序,就需要对应这三要素的东西: ...

  4. Mac OS X 上安装 ASP.NET 5

    在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目 终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本 ...

  5. 在Mac OS X上安装ASP.NET 5(译文)

    ASP.NET 5 运行在包括OS X的可用于多个平台的.NET Execution Environment(DNX)上.本文介绍如何在OS X上通过HomeBrew安装DNX和ASP.NET 5. ...

  6. 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  7. 如何在Mac OS X上安装 Ruby运行环境

    对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 首先确定操 ...

  8. Mac OS X上用CoreCLR运行一个真正的.NET控制台程序

    这个真正的控制台程序来自corefxlab,名叫CoreClrHelloWorld,是一个跨平台的.NET控制台演示程序,可以显示微软.Linux.苹果的logo. CoreClrHelloWorld ...

  9. 在Mac OS X上用自己编译出的CoreCLR运行.NET程序

    当昨天被Mac OS X上无法编译CoreCLR的问题困扰时(详见Mac OS X上尝试编译CoreCLR源代码),后来发现这个难题竟然被神人@kangaroo给解决了,连CoreCLR的微软开发人员 ...

随机推荐

  1. JavaScript性能优化

    如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度. 这种情况下决定程序速度的另一个重要因素就是代码本身. 在这里我们会分门别类的介绍J ...

  2. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  3. Linux 添加新磁盘,在线扩充空间

    CentOS 7开发环境中的home 目录空间满了,需要增加空间 到虚拟机上执行"ls /sys/class/scsi_host",然后重新扫描SCSI总线来添加设备.如右图.然后 ...

  4. Xamarin+Prism开发详解五:页面布局基础知识

    说实在的研究Xamarin到现在,自己就没设计出一款好的UI,基本都在研究后台逻辑之类的!作为Xamarin爱好者,一些简单的页面布局知识还是必备的. 布局常见标签: StackLayout Abso ...

  5. golang语言构造函数

    1.构造函数定义 构造函数 ,是一种特殊的方法.主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中.特别的一个类可以有多个构造函数 ,可根据其参数个 ...

  6. 数塔问题(DP算法)自底向上计算最大值

    Input 输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数 ...

  7. 使用rowid抽取数据方法以及大数据量游标卡住的应对

    平时工作的时候,经常会遇到这种事情,从一个大表A中,抽取字段a在一个相对较小B的表的数据,比如,从一个详单表中,抽取几万个用户号码的话单出来.这种时候,一般来说, 做关联查询: create tabl ...

  8. Spring MVC初始化参数绑定

    初始化参数绑定与类型转换很类似,初始化绑定时,主要是参数类型 ---单日期 在处理器类中配置绑定方法  使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型   proper ...

  9. 《Walking the callstack(转载)》

    本文转载自:https://www.codeproject.com/articles/11132/walking-the-callstack Download demo project with so ...

  10. ubuntu-14.04-server配置Jexus --安装步骤记录

    作者:郝喜路   个人主页:http://www.cnicode.com      博客地址:http://haoxilu.cnblogs.com 说明:我是Linux菜鸟,自己尝试配置Jexus服务 ...