CentOS上离线安装mono
检查是否安装了依赖库
yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel cairo-devel
如果是离线机器没这些依赖包,也最需要安装这些依赖
gcc、gcc-c++、make、cmake
下载mono安装源
http://download.mono-project.com/sources/mono/mono-5.16.0.179.tar.bz2
上传到你离线的服务器上
mono 配置,编译,安装,设置环境变量
tar -jxvf mono-5.16.0.179.tar.bz2
cd mono-5.16.0.179
./configure --prefix=/usr/local/mono
make && make install
vi /etc/profile
在最后添加环境变量:
PATH=$PATH:/usr/local/mono/bin
export PATH
:wq保存并退出
# 设置生效
source /etc/profile
# 输出环境变量PATH的值,验证添加的变量是否生效
echo $PATH
# 查看 mono 版本
mono -V
说明: --prefix=/usr/local/mono是设置mono安装的目录,因此PATH添加的就是该安装目录下的bin目录路径。
测试是否能使用
vi hello.cs
using System;
using System.Text;
namespace Hello
{
class hello
{
static void Main(string[] args)
{
Console.WriteLine("hello world!");
Console.ReadKey();
}
}
}
:wq保存并退出
# 编译生成可执行程序hello.exe
mcs hello.cs
# 执行可执行程序
mono hello.exe
遇到问题
1.configure: error: "cmake not found"
在configure环节就报了configure: error: "cmake not found",表示没有安装到cmake依赖库。于是需要安装cmake。
1、安装gcc等必备程序包(已安装则略过此步)
yum install -y gcc gcc-c++ make automake
2、安装wget (已安装则略过此步)
yum install -y wget
3、获取CMake源码包(或者手动自己windows下载)
wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
4、解压CMake源码包
tar -zxvf cmake-3.5.2.tar.gz
5、进入cmark的源码目录
cd cmake-3.5.2
6、运行当前目录下的一个文件
./bootstrap --prefix=/usr
ps:如果没有指定prefix,后面使用时会报错Could not find CMAKE_ROOT
7、运行命令(这步时间有点长)
gmake
8、进行安装
gmake install
9、检查是否安装完成
cmake --version
or
which cmake
安装完cmake后,把原来的mono解压文件删除,重新解压进行即可。
2.安装完Mono后,其他用户无法使用mono
1.检查 /etc/profile是否设置了环境变量
2.查看mono目录权限是否为下图所示: