我要求IT部门使用以下命令在CentOS上安装Mono:
$yum install bison gettext glib2 freetype fontconfig libpng libpng-devel libX11 libX11-devel glib2-devel libgdi* libexif glibc-devel urw-fonts java unzip gcc gcc-c++ automake autoconf libtool make bzip2 wget
$cd /usr/local/src
$wget http://download.mono-project.com/sources/mono/mono-3.2.5.tar.bz2
$tar jxf mono-3.2.5.tar.bz2
$cd mono-3.2.5
$./configure --prefix=/opt/mono
$make && make install
然而,当我运行mono myapp.exe
时,我得到了
-bash: mono: command not found
我对Linux一无所知 - 我觉得我在日本。假设Linux有一个路径变量或类似的东西,可能单声道不在路径中?
我甚至无法在mono
中找到名为/usr/local/src
的可执行文件,只是mono
文件夹。请注意,我无法弄清楚如何搜索文件,所以我可能看不太正确。
如何判断其安装是否正确?也许它不适用于我使用的非管理员帐户?
我迷路了。救命啊!
答案 0 :(得分:14)
如果mono
已正确安装,则不会收到-bash: mono: command not found
之类的消息。如果安装,则最常见的是$PATH
。
在我的系统上,可执行文件位于/usr/bin/mono
(大多数情况都是如此),但在基于RPM的系统上可能会有所不同。
然而,您的./configure
获得了前缀/opt/mono
,因此您的可执行文件也可能位于该特殊路径下。 (因此mono
未安装正确。)为什么要在那里安装它?无论如何。如果这是事实,那么您可以使用类似
/opt/mono/bin/mono foo.exe
找到你可以使用的前缀路径下面的可执行文件
find /opt/mono -name mono
查看名为mono
的所有目录条目。其中一个应该是你的可执行文件。
答案 1 :(得分:6)
如果您的程序安装正确,您通常会使用“which”
找到它的可执行文件which programm
像:
which firefox
/usr/bin/firefox
答案 2 :(得分:3)
有许多指南和教程建议在/opt/mono
中安装,以免与官方发行包(将安装在/usr
中)提供的单声道冲突。
然而,大多数指南遗漏的是/opt/mono
是一个非标准前缀,系统在尝试查找可执行文件时不会考虑这些前缀(系统查看$ PATH环境变量)
有两种可能的解决方案:
/opt/mono
而不是使用前缀/usr/local
(如果您不提供任何前缀,则默认情况下./configure
或./autogen.sh
使用{!}}。此前缀通常包含在大多数发行版的$ PATH环境变量中。许多互联网教程推荐使用/opt/mono
而不是/usr/local
的原因实际上是因为大多数互联网教程都基于上面提到的维基页面(如上所述),但它解释了如何设置单声道并行环境,他们当然不包括正确设置这样一个环境的其他步骤(他们只是借用了一些关于如何调用configure)。