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
Mac OS X上编写 ASP.NET vNext(一)KRE环境搭建的更多相关文章
- Mac OS X 上编写 ASP.NET vNext (二) IDE配置
上一篇中介绍了如何在OS X上搭建.Net运行时.不过光有运行时还不够,还需要有一个好用的IDE,有了IDE的支持,OS X上的开发才称为可能. 和上篇类似,这里先列举出具体步骤,个人可以根据自己的情 ...
- Mac OS X上编写 ASP.NET vNext 系列中断和再开声明
这个系列其实已经中断有一段时间了,主要是由两个原因: 第一是微软那边把以前的KRE改成了XRE,所以导致前两篇有点过时了. 第二是自己年前1月份被裁员,Mac的机器被回收,再加上忙于和公司扯皮和找工作 ...
- 简单理解在Mac OS X上运行ASP.NET程序
运行ASP.NET程序的三要素: 1) CLR(.NET运行时) 2) KRE(ASP.NET运行时) 3) Web服务器 所以在Mac OS X上运行ASP.NET程序,就需要对应这三要素的东西: ...
- Mac OS X 上安装 ASP.NET 5
在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目 终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本 ...
- 在Mac OS X上安装ASP.NET 5(译文)
ASP.NET 5 运行在包括OS X的可用于多个平台的.NET Execution Environment(DNX)上.本文介绍如何在OS X上通过HomeBrew安装DNX和ASP.NET 5. ...
- 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- 如何在Mac OS X上安装 Ruby运行环境
对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 首先确定操 ...
- Mac OS X上用CoreCLR运行一个真正的.NET控制台程序
这个真正的控制台程序来自corefxlab,名叫CoreClrHelloWorld,是一个跨平台的.NET控制台演示程序,可以显示微软.Linux.苹果的logo. CoreClrHelloWorld ...
- 在Mac OS X上用自己编译出的CoreCLR运行.NET程序
当昨天被Mac OS X上无法编译CoreCLR的问题困扰时(详见Mac OS X上尝试编译CoreCLR源代码),后来发现这个难题竟然被神人@kangaroo给解决了,连CoreCLR的微软开发人员 ...
随机推荐
- 2015 西雅图微软总部MVP峰会记录
2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一次写会议记录,写得不好的地方希望各位园友见谅 ...
- 匹夫细说C#:庖丁解牛迭代器,那些藏在幕后的秘密
0x00 前言 在匹夫的上一篇文章<匹夫细说C#:不是“栈类型”的值类型,从生命周期聊存储位置>的最后,匹夫以总结和后记的方式涉及到一部分迭代器的知识.但是觉得还是不够过瘾,很多需要说清楚 ...
- C语言 · 判定数字
编写函数,判断某个给定字符是否为数字. 样例输入 9 样例输出 yes #include<stdio.h> int main(){ char c; scanf("%c" ...
- PHP之时间和日期函数
// 时间日期函数 Time <?php date_default_timezone_set('UTC'); // 获取当前时间的时间戳 $time0 = mktime(); $time1 = ...
- php实现的分页类
php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...
- peer not authenticated的终极解决方案
一.前述 使用httpclient发起https请求时,可能会遇到如下异常: javax.net.ssl.SSLPeerUnverifiedException: peer not authentica ...
- spring boot 实战:我们的第一款开源软件
在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来看开源软件的,你给我扯什 ...
- 浅谈Slick(2)- Slick101:第一个动手尝试的项目
看完Slick官方网站上关于Slick3.1.1技术文档后决定开始动手建一个项目来尝试一下Slick功能的具体使用方法.我把这个过程中的一些了解和想法记录下来和大家一起分享.首先我用IntelliJ- ...
- BPM助力企业数字化转型
自九十年代末,流程管理开始引入国内,至今已经有20多年的历史了,由最初的部门级应用向企业级应用转变,大家的认知也经历了一系列的发展变化.不同阶段的信息化水平对企业的流程以及BPM平台也提出了不同的需求 ...
- UGUI Text(Label)
环境 Unity 5.3.6f1 关于Best Fit 如果勾选了 Best Fit ,当有大量的文本填充在Text上时,那么文字是不会自动换行的. 打字机效果 在github上已有现成的:https ...