经过尝试网上各种Linux下安装mono的技术贴,这个安装过程经历了大约2周,尝试了很多种安装方式,都存在各种不同的问题,连接MSSQL数据库异常,等等各种状况,虚拟也删了N个。经过整理后个人觉得最方便,且较稳妥的 CentOS 7下安装mono方式。并记录全安装过程。
1、安装需要的库
yum -y install wget glib2-devel libtiff libtiff-devel libjpeg libjpeg-devel giflib giflib-devel libpng libpng-devel libX11 libX11-devel freetype freetype-devel fontconfig fontconfig-devel libexif libexif-devel gcc-c++ gettext unzip zip bzip2 bzip2-devel curl-devel gtk2-devel boost-devel
2、添加rpm源
rpm --import "http://keyserver.Ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
yum-config-manager --add-repo
3、查找可用版本
yum search mono-snapshot
4、选择安装最新版本快照
yum -y install mono-snapshot-latest
ps:如果想安装某版本的快照命令为
yum -y install mono-snapshot-XXXXXXXXX
5、查看可用的Mono快照
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/20150520032320
Calling APP without specifying VER will load the latest version
6、执行指定快照
mono-snapshot mono
或者
mono-snapshot mono/XXXXXXXXX
显示结果:
[mono-20150520032320][root@localhost ~]#
mono-20150520032320表示mono所使用的快照
7、确认Mono是否安装成功
mono --version
显示结果:
Mono JIT compiler version 4.1.0 (tarball Tue May 19 23:45:50 EDT 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors.
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
8、在CentOS上设置Mono环境变量
借助 find / -name 'libMonoPosixHelper.so' 命令查找版本的安装地址;
find / -name 'libMonoPosixHelper.so'
/opt/mono-20150520032320/lib/libMonoPosixHelper.so
记下 /opt/mono-20150520032320 (下文中将会用到)
如果安装多个版本则会有多个记录。
安装脚本将Mono安装到了/opt/mono-20150520032320/,需要将Mono的目录加入系统$PATH变量
方法一: 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
vi /etc/profile
在文件末尾加上如下两行代码
PATH=/opt/mono-20150520032320/bin:$PATH export PATH
修改生效,需要执行以下代码(否则重启reboot)
source /etc/profile
方法二 :在/etc/profile.d/目录下创建一个Mono的配置
cd /etc/profile.d/
创建一个新的mono.sh
vi mono.sh
在这个文件内写入以下内容
export PATH=$PATH:/opt/mono-20150520032320/bin
路径中的“mono-20150520032320”则是有上面的查看得到,如果需要配置更新版本则路径即可。
修改生效,需要执行以下代码
source mono.sh
现在可以直接执行Mono 的命令了
mono -V
Mono JIT compiler version 4.1.0 (tarball Tue May 19 23:45:50 EDT 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors.
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
执行结果一致。Mono安装完成。