最新的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. Entity Framework 6 Recipes 2nd Edition 译 -> 目录 -持续更新

    因为看了<Entity Framework 6 Recipes 2nd Edition>这本书前面8章的翻译,感谢china_fucan. 从第九章开始,我是边看边译的,没有通读,加之英语 ...

  2. WebApi - 路由

    这段时间的博客打算和大家一起分享下webapi的使用和心得,主要原因是群里面有朋友说希望能有这方面的文章分享,随便自己也再回顾下:后面将会和大家分不同篇章来分享交流心得,希望各位多多扫码支持和点赞,谢 ...

  3. angular2系列教程(九)Jsonp、URLSearchParams、中断选择数据流

    大家好,今天我们要讲的是http模块的第二部分,主要学习ng2中Jsonp.URLSearchParams.observable中断选择数据流的用法. 例子

  4. 用游标实现查询当前服务器所有数据库所有表的SQL

    declare @name varchar(100) DECLARE My_Cursor CURSOR --定义游标 FOR (SELECT Name FROM Master..SysDatabase ...

  5. 在Linux上运行ASP.NET vNext

    最新的ASP.NET vNext完全开源且可以跨多个平台运行,在Windows环境下我尝试了下,几乎没花什么工夫就跑起了Sample,而在Linux环境下则要多花了不少时间,所以特别记录下整个过程,希 ...

  6. ASP.NET 5 和Entity Framework 7公告仓库

    ASP.NET 5 有一个公告仓库来介绍ASP.NET 5和 Entity Framework 7的主要变更说明,这个对于日夜更新的项目来说,很多人经常会遇到问题但是不知道去哪里寻找帮助,很多同学在做 ...

  7. ReactNative入门 —— 动画篇(下)

    在上篇动画入门文章中我们了解了在 React Native 中简单的动画的实现方式,本篇将作为上篇的延续,介绍如何使用 Animated 实现一些比较复杂的动画. 动画组合 在 Animated 中提 ...

  8. node应用线上部署时锁定包的依赖版本

    npm shrinkwrap 我们使用node开发时,经常需要依赖一些模块来完成功能需求,而我们所依赖的模块也必然会依赖其他模块,就这样一级一级的依赖,而且这些依赖模块并不为我们所控制.一个产品或项目 ...

  9. 最牛的打字效果JS插件 typing.js

    最新在做公司的一个项目,需要实现一个敲打代码的动画效果,粗意味比较简单,果断自己直接开写,写着写着发现是一个坑.需要支持语法高亮,并不能直接简单的用setTimeout来动态附件innerHTML.苦 ...

  10. IOCP Internals

    Buffer Type Buffer I/O 针对Buffer I/O的请求,系统会为其分配一个非换页内存作为缓存区,其大小等同于I/O请求的缓存区大小.对于写操作,I/O管理器在创建IRP时,将请求 ...