dotnet core已经出来有一段时间了,不是什么新名词了。但这个技术,目前还是比较新的,企业也没有普遍应用。它最大的亮点就是跨平台,也就是我们写的c#代码,可以运行在linux上。
在国内学习dotnetcore有点困难。下面是我在linux上安装dotnetcore的一些曲折经历。
我用两个虚拟机,一个是ubuntu 16.04,另一个是centos7.1。我用ubuntu装dotnetcore报下面的错:
从图上看是找不到包,在网上查原因,因为搜索出来的页面基本上都是国外的网站,特别慢,最后网页打不开。不甘心,下载了dotnetcore for ubuntu的软件包,准备运行,结果不知道该怎么运行,把压缩文件解压出来后,也没有install之类的文件。查询微软官网上的文档,从网上搜索资料,也没有查出来如何运行。不得已放弃了。
我只不过是想通过在linux上运行dotnetcore来印证,dotnet确实跨平台了,有一个直观的认识,怎么就这么难呢?后来,我想到了centos,这也就是我为什么有两个linux虚拟机的原因了。
按照微软官方的文档操作,一路基本顺利,有时候会碰到这样的问题:
遇到锁定的问题,那就想办法解锁。通过执行 rm -f /var/run/yum.pid 这个命令,问题迎刃而解。
后面没有遇到什么问题,dotnetcore安装成功了。见下图:
安装成功之后,我想着,不如乘胜追击,装下docker,一个运行程序的容器,底层调用的是linux虚拟机。这个玩意儿好啊,相当于轻量级的虚拟机。在它上面安装所有的开发环境,以及部署。那么我们在其它的机器上要部署就简单了。直接把docker的镜像拷贝到机器上,然后运行docker就行了。在centeros上安装时,可怜的下载速度<1k,最终所有的连接地址都试用完了,还是没有把相关的包下载下来,当然这个下载过程是命令运行后,自动执行的,无需人工干预。
centeros不行,咱就不能换个虚拟机嘛。
请看unbantu上的安装情况,费尽力气,按照官方文档一步一步,执行了好多个步骤,到最后一步,报出这样的错来,我直接要吐血了。
偶滴歌神啊。好了,我不安装了,还不行吗?当然我也是在网上查询了好多资料,说是没有此版本的docker包。那就等等吧。
今天看到一个博友留言提醒:操作系统是不是64位的,我看了下,果然系统是32位的,微软在安装文档上已有明确提醒了,我当时疏忽了这个条件,不过还是要感谢博友的提示,欢迎讨论。
早上安装了64位的unbantu,按照官方的文档一步一步装下来,报出了下面的错误:
上图是执行了sudo apt-get update 这个命令后出现的。我重新执行了下,报出相同的结果,于是,我忽略这些提示,继续一路向前,终于到最后一步了,启动dock,执行 hello-world结果报出下面的错误来:
仔细想了下,造成这样的结果,有可能是网络的原因。