Как я могу сказать, правильно ли установлен Mono в Linux?

Я попросил его установить Mono на CentOS, используя следующие команды:

$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 нет в пути?

Я даже не могу найти исполняемый файл с именем mono на /usr/local/src, просто . Имейте в виду, я не могу понять, как даже искать файл, поэтому я могу не искать правильно.

как я могу сказать, правильно ли он установлен? Может быть, он просто недоступен для учетной записи, не являющейся администратором, которую я использую?

Я потерял. Помогите!

3 ответов


если mono правильно установлен, вы должны не получите сообщение типа -bash: mono: command not found. Если что-то установлен тогда это наиболее типично в $PATH.

в моей системе исполняемый файл расположен на /usr/bin/mono (как и большинство вещей), но все может быть по-другому в системе на основе RPM.

код ./configure, однако, получил префикс /opt/mono, поэтому, вероятно, ваш исполняемый файл также находится под этим специальным путем. (И таким образом mono не правильно установлен. Почему вы установили его там? В любом случае. Если это факт, то вы можете выполнить его с помощью sth как

/opt/mono/bin/mono foo.exe

, чтобы найти исполняемый файл ниже вашего путь вы могли бы использовать

find /opt/mono -name mono

чтобы увидеть все записи каталога, которые называются точно mono. Один из них должен быть исполняемым.


Если ваша программа правильно установлена, вы обычно найдете ее исполняемой с помощью "which"

which programm

как:

which firefox
/usr/bin/firefox

есть много руководств и учебников, которые рекомендуют установить в /opt/mono чтобы не конфликтовать с моно, поставляемым официальными дистрибутивными пакетами (которые будут установлены в /usr).

однако то, что большинство из этих гидов пропустить это /opt/mono нестандартный префикс, который не будет учитываться системой при попытке найти исполняемые файлы (система смотрит на $переменную окружения PATH).

возможны 2 решения для этого:

  • вместо использования префикса /opt/mono использовать /usr/local (что на самом деле ./configure или ./autogen.sh использует по умолчанию, если вы не предоставляете префикс!). Этот префикс обычно включается в переменную среды $PATH большинства дистрибутивов.
  • используйте свою пользовательскую моно-установку из Параллельной Среде. Это немного сложнее настроить, но это специально рекомендуется для людей, которые хотят установить две версии моно параллельно (т. е. очень современная версия и более стабильная версия, поставляемая официальными дистрибутивами), и имеют хороший контроль над тем, когда они могут использовать тот или иной.

причина, по которой многие интернет-учебники рекомендуют /opt/mono вместо /usr/local на самом деле, потому что большинство из них основаны на странице wiki (см. выше), которая объясняет, как настроить моно-параллельную среду, но они, конечно, не включают другие шаги для правильной настройки таких Среда (они просто заимствовали бит о том, как вызвать configure).