Как я могу сказать, правильно ли установлен 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).