Mono 3.6.0 发布,此版本从上一个版本开始,总共提交了 878 个commits。自2014 年 3 月 10 日开始,共有66 位贡献者参与开发; 其中有22位首次提交的贡献值,他们修复了 112 个 bug,具体请看《Mono 3.6发布,支持在Mac系统使用Nuget》。 Mono的官方网站也进行了更新,界面清新。其中在下载页面只有OSX下的框架是最新的,其他平台的包还在测试中,可以通过源码安装,也可以通过官方的持续集成包进行安装,可参考文档 Continuous Integration packages。
Linux 平台包分两个发行版系列: Debian 系(支持 Debian 7+, Ubuntu 11.04+, Mint 11+, Elementary 0.2+ 等)和 Red Hat(支持CentOS 7+, Mageia 3+, Fedora 19+, openSUSE 12.3+等)。
下面介绍CentOS 7上安装最新的Mono 3.8.1:
1、添加Mono的 包库源:
把Mono Project public Jenkins GPG signing 导入系统:
wget http://jenkins.mono-project.com/repo/xamarin.gpg
rpm --import xamarin.gpg
yum-config-manager --add-repo http://jenkins.mono-project.com/repo/centos/
2、通过包管理器查找mono-snapshot找到可以安装最新的包
yum search mono-snapshot
[mono-20140816130953][root@localhost jexus-5.6.1]#yum search mono-snapshot 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.grandcloud.cn * extras: mirrors.pubyun.com * rpmforge: mirrors.neusoft.edu.cn * updates: mirrors.pubyun.com ========================================================================== N/S matched: mono-snapshot =========================================================================== mono-snapshot-20140807112602.x86_64 : Mono runtime snapshot - runtime (git commit 76c34a1) mono-snapshot-20140807112602-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 76c34a1) mono-snapshot-20140813035605.x86_64 : Mono runtime snapshot - runtime (git commit 0322d96) mono-snapshot-20140813035605-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 0322d96) mono-snapshot-20140813112032.x86_64 : Mono runtime snapshot - runtime (git commit a4f96bc) mono-snapshot-20140813112032-assemblies.noarch : Mono runtime snapshot - assemblies (git commit a4f96bc) mono-snapshot-20140813120821.x86_64 : Mono runtime snapshot - runtime (git commit 9c37758) mono-snapshot-20140813120821-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 9c37758) mono-snapshot-20140813121150.x86_64 : Mono runtime snapshot - runtime (git commit db3eb16) mono-snapshot-20140813121150-assemblies.noarch : Mono runtime snapshot - assemblies (git commit db3eb16) mono-snapshot-20140813125854.x86_64 : Mono runtime snapshot - runtime (git commit e464526) mono-snapshot-20140813125854-assemblies.noarch : Mono runtime snapshot - assemblies (git commit e464526) mono-snapshot-20140813130628.x86_64 : Mono runtime snapshot - runtime (git commit 2ceb43d) mono-snapshot-20140813130628-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 2ceb43d) mono-snapshot-20140813134928.x86_64 : Mono runtime snapshot - runtime (git commit 37dcfd1) mono-snapshot-20140813134928-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 37dcfd1) mono-snapshot-20140813140439.x86_64 : Mono runtime snapshot - runtime (git commit d273a16) mono-snapshot-20140813140439-assemblies.noarch : Mono runtime snapshot - assemblies (git commit d273a16) mono-snapshot-20140814031123.x86_64 : Mono runtime snapshot - runtime (git commit 62a15c8) mono-snapshot-20140814031123-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 62a15c8) mono-snapshot-20140814053610.x86_64 : Mono runtime snapshot - runtime (git commit 5f5bed4) mono-snapshot-20140814053610-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 5f5bed4) mono-snapshot-20140814102557.x86_64 : Mono runtime snapshot - runtime (git commit 5aeec74) mono-snapshot-20140814102557-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 5aeec74) mono-snapshot-20140814122203.x86_64 : Mono runtime snapshot - runtime (git commit 33023bf) mono-snapshot-20140814122203-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 33023bf) mono-snapshot-20140814131548.x86_64 : Mono runtime snapshot - runtime (git commit 407b816) mono-snapshot-20140814131548-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 407b816) mono-snapshot-20140814190650.x86_64 : Mono runtime snapshot - runtime (git commit 844ad76) mono-snapshot-20140814190650-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 844ad76) mono-snapshot-20140814192915.x86_64 : Mono runtime snapshot - runtime (git commit 12e4b4f) mono-snapshot-20140814192915-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 12e4b4f) mono-snapshot-20140815071644.x86_64 : Mono runtime snapshot - runtime (git commit 31e92f2) mono-snapshot-20140815071644-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 31e92f2) mono-snapshot-20140815123851.x86_64 : Mono runtime snapshot - runtime (git commit 230b3bf) mono-snapshot-20140815123851-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 230b3bf) mono-snapshot-20140815125921.x86_64 : Mono runtime snapshot - runtime (git commit 5ab34b2) mono-snapshot-20140815125921-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 5ab34b2) mono-snapshot-20140816014620.x86_64 : Mono runtime snapshot - runtime (git commit 76efee0) mono-snapshot-20140816014620-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 76efee0) mono-snapshot-20140816060806.x86_64 : Mono runtime snapshot - runtime (git commit 557ad88) mono-snapshot-20140816060806-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 557ad88) mono-snapshot-20140816072941.x86_64 : Mono runtime snapshot - runtime (git commit eaa343f) mono-snapshot-20140816072941-assemblies.noarch : Mono runtime snapshot - assemblies (git commit eaa343f) mono-snapshot-20140816130953.x86_64 : Mono runtime snapshot - runtime (git commit 6986ed5) mono-snapshot-20140816130953-assemblies.noarch : Mono runtime snapshot - assemblies (git commit 6986ed5) mono-snapshot-common.noarch : Common helper tools for Mono snapshot packages mono-snapshot-latest.noarch : Mono runtime snapshot - latest version metapackage
mono-snapshot-XXXXXXXXX 表示特定版本的包, mono-snapshot-latest 是最新版本的包,安装 mono-snapshot-latest,包管理器可以把包更新到最新. 所有的安装包里都带了一个工具mono-snapshot
[root@localhost ~]# mono-snapshot
This script will help you to set up your environment to use a
snapshot package of Mono. To use it, run:
. mono-snapshot APP/VER
You have the following possible combinations of APP/VER:
mono/20140816130953
Calling APP without specifying VER will load the latest version
我们看到系统里安装了一个版本20140816130953,
3、
yum -y install mono-snapshot-latest
[root@localhost src]# yum -y install mono-snapshot-latest 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.grandcloud.cn * extras: mirrors.pubyun.com * rpmforge: mirrors.digipower.vn * updates: mirrors.pubyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 mono-snapshot-latest.noarch.0.20140816130953-0 将被 安装 --> 正在处理依赖关系 mono-snapshot-20140816130953,它被软件包 mono-snapshot-latest-20140816130953-0.noarch 需要 --> 正在检查事务 ---> 软件包 mono-snapshot-20140816130953.x86_64.0.20140816130953-0 将被 安装 --> 正在处理依赖关系 mono-snapshot-common,它被软件包 mono-snapshot-20140816130953-20140816130953-0.x86_64 需要 --> 正在处理依赖关系 mono-snapshot-20140816130953-assemblies,它被软件包 mono-snapshot-20140816130953-20140816130953-0.x86_64 需要 --> 正在检查事务 ---> 软件包 mono-snapshot-20140816130953-assemblies.noarch.0.20140816130953-0 将被 安装 ---> 软件包 mono-snapshot-common.noarch.0.00000010-0 将被 安装 …… 作为依赖被安装: mono-snapshot-20140816130953.x86_64 0:20140816130953-0 mono-snapshot-20140816130953-assemblies.noarch 0:20140816130953-0 mono-snapshot-common.noarch 0:00000010-0 使用mono-snapshot 工具看下我们安装好的Mono的最新版本是3.8.1:
[root@localhost ~]# . mono-snapshot mono [mono-20140816130953][root@localhost ~]# mono --version Mono JIT compiler version 3.8.1 (tarball Sat Aug 16 16:20:35 EDT 2014) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: sgen 请注意mono-snapshot 前边的 “.”.4、让Jexus 使用最新的Mono修改Jexus脚本把最新的mono 路径加入进去,如下图
[mono-20140816130953][root@localhost ~]# cd /usr/jexus/ [mono-20140816130953][root@localhost jexus]# vi jws [mono-20140816130953][root@localhost jexus]# service jws restart Restarting jws (via systemctl): [ 确定 ] [mono-20140816130953][root@localhost jexus]#
将Jexus 添加为系统服务的脚本参见《Centos 7.0 安装Mono 3.4 和 Jexus 5.6》。