最新的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. AngularJs之九(ending......)

    今天继续angularJs,但也是最后一篇关于它的了,基础部分差不多也就这些,后续有机会再写它的提升部分. 今天要写的也是一个基础的选择列表: 一:使用ng-options,数组进行循环. <d ...

  2. Partition:增加分区

    在关系型 DB中,分区表经常使用DateKey(int 数据类型)作为Partition Column,每个月的数据填充到同一个Partition中,由于在Fore-End呈现的报表大多数是基于Mon ...

  3. 【翻译】MongoDB指南/CRUD操作(四)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...

  4. 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

  5. 解读发布:.NET Core RC2 and .NET Core SDK Preview 1

    先看一下 .NET Core(包含 ASP.NET Core)的路线图: Beta6: 2015年7月27日 Beta7: 2015年9月2日 Beta8: 2015年10月15日 RC1: 2015 ...

  6. AFNetworking 3.0 源码解读(六)之 AFHTTPSessionManager

    AFHTTPSessionManager相对来说比较好理解,代码也比较短.但却是我们平时可能使用最多的类. AFNetworking 3.0 源码解读(一)之 AFNetworkReachabilit ...

  7. css样式之border-image

    border-image-source 属性设置边框的图片的路径[none | <image>] div { border: 20px solid #000; border-image-s ...

  8. 信息安全-5:RSA算法详解(已编程实现)[原创]

    转发注明出处:http://www.cnblogs.com/0zcl/p/6120389.html 背景介绍 1976年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加 ...

  9. 浅析SQL查询语句未显式指定排序方式,无法保证同样的查询每次排序结果都一致的原因

    本文出处:http://www.cnblogs.com/wy123/p/6189100.html 标题有点拗口,来源于一个开发人员遇到的实际问题 先抛出问题:一个查询没有明确指定排序方式,那么,第二次 ...

  10. [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)

    数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChin ...