【问题标题】:How can I tell if Mono is installed properly on Linux?如何判断 Mono 是否在 Linux 上正确安装?
【发布时间】:2013-12-23 18:12:25
【问题描述】:

我要求 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 的可执行文件,只有mono 文件夹。请注意,我什至不知道如何搜索文件,因此我可能无法正确查找。

如何判断它是否安装正确?也许它对我使用的非管理员帐户不可用?

我迷路了。救命!

【问题讨论】:

标签: linux mono


【解决方案1】:

有很多指南和教程建议安装在/opt/mono 中,以免与官方分发包提供的mono 冲突(将安装在/usr 中)。

然而,大多数指南忽略的是/opt/mono 是一个非标准前缀,系统在尝试查找可执行文件时不会考​​虑它(系统会查看 $PATH 环境变量)。

有两种可能的解决方案:

  • 不要使用前缀/opt/mono,而是使用/usr/local(如果您不提供任何前缀,这实际上是./configure./autogen.sh 默认使用的!)。这个前缀通常包含在大多数发行版的 $PATH 环境变量中。
  • 使用来自Parallel Environment 的自定义单声道安装。这个设置起来有点复杂,但是特别推荐给想要并行安装两个版本的mono(即一个非常现代的版本,以及一个由官方分发包提供的更稳定的版本)并且有良好控制的人他们何时可以使用其中一种。

许多互联网教程推荐/opt/mono而不是/usr/local的原因实际上是因为它们中的大多数都是基于解释如何设置单声道并行环境的wiki页面(上面引用过),但他们当然不'不包括正确设置这样一个环境的其他步骤(他们只是借用了关于如何调用配置的一点)。

【讨论】:

    【解决方案2】:

    如果mono 安装正确,您应该不会收到类似-bash: mono: command not found 的消息。如果某些东西已安装,那么它通常位于$PATH

    在我的系统上,可执行文件位于 /usr/bin/mono(大多数情况下),但在基于 RPM 的系统上可能会有所不同。

    但是,您的 ./configure 有前缀 /opt/mono,因此您的可执行文件可能也位于该特殊路径下。 (因此mono 没有正确安装。)你为什么把它安装在那里?反正。如果这是事实,那么您可以使用 sth like 执行它

    /opt/mono/bin/mono foo.exe
    

    在您可以使用的前缀路径下找到可执行文件

    find /opt/mono -name mono
    

    查看完全命名为mono 的所有目录条目。其中之一应该是您的可执行文件。

    【讨论】:

    • 酷,到了某个地方!所以在/opt/mono/bin 中我可以运行./mono 并查看使用帮助。并感谢find 提示。
    【解决方案3】:

    如果您的程序安装正确,您通常会发现它可以使用“which”来执行

    which programm
    

    喜欢:

    which firefox
    /usr/bin/firefox
    

    【讨论】:

    • find 会寻找它是否在路径中
    猜你喜欢
    • 2013-07-21
    • 2023-04-06
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 2010-10-28
    相关资源
    最近更新 更多