Установка Mono 3.x в Ubuntu/Debian
Недавно я прочитал, что Mono 3.0 был выпущен с компилятором С# 5 и поддержкой MVC 4 здесь:
http://www.mono-project.com/Release_Notes_Mono_3.0
и
http://tirania.org/blog/archive/2012/Oct-22.html
В течение жизни я не могу решить, где взять его из пакета для Linux или даже Windows.
Эта страница, похоже, все еще находится в бета-версии:
http://www.go-mono.com/mono-downloads/download.html
Я пробовал сделать apt-get install mono-complete
на Ubuntu 12.10, но он установил 2.10.8.1.
Я попытался установить MonoDevelop 3 на моем компьютере с Windows и представил только проекты MVC 3 и, по-видимому, использовал .NET framework.
Я совершенно новичок в Mono, и у меня есть все возможное, чтобы попытаться посмотреть, как это работает, но я сбит с толку. Я бы хотел, чтобы это работало на Linux, если это возможно, и попробуйте некоторые вещи.
Может кто-то пролить свет на это или мне нужно смотреть на построение этого из источника?
Ответы
Ответ 1
Mono 3.x - слишком кровоточащий край для Ubuntu 12.10. Возьмите пакеты предварительного просмотра из directhex PPA таким образом (это установит 3.2.1):
sudo add-apt-repository ppa:directhex/monoxide
(Если вы используете Ubuntu saucy 13.10, после добавления репозитория вам нужно отредактировать файл /etc/apt/sources.list.d/directhex-monoxide-saucy.list
и заменить слово saucy на raring)
Затем, после этого:
sudo apt-get update && sudo apt-get dist-upgrade
Это также даст вам MonoDevelop 4.x, если раньше у вас была монодеборка.
ПРИМЕЧАНИЕ: direchtex - не случайный парень, который создал PPA, он часть команды разработчиков Debian/Ubuntu всех пакетов на основе Mono и Mono. Поэтому использование этого является наиболее официальным способом обновления инфраструктуры.
И для пользователей debian: mono 3.0.6 и MonoDevelop 4.0.x уже доступен в тестировании debian. Поэтому я рекомендую это:
- Установить тестирование debian (в настоящее время называется debian jessie).
- Удалите mono, выполнив
sudo apt-get purge mono-runtime
(после этого сопротивляйтесь соблазну сделать sudo apt-get autoremove
или вы сломаете свою систему, что я сообщил как ошибка здесь).
- Измените
/etc/apt/sources.list
, найдите первую строку, в которой упоминается источник main
, и переименуйте слово jessie
в sid
.
- Сделайте
sudo apt-get update
.
- Установите monodevelop через
sudo apt-get install monodevelop
, который также вытащит моно как зависимость.
- Вернуть то, что вы сделали на шаге 3.
- Повторите шаг 4.
Таким образом, у вас есть более или менее современный дистрибутив (в отличие от стабильной версии debian), а также очень современные современные пакеты (для версий Mono, как правило, довольно стабильны).
Пользователи F #: Mono 3.0.6 имеет ошибку, которая запрещает этому языку работать в этой версии, вместо этого используйте Mono 3.2.x.
Ответ 2
Вот полное руководство по установке mono 3.0.1
Для начинающих, которые не знают, как получить новую версию Mono 3.0.1 на Ubuntu 12.04
(Потому что я новичок, и я работаю над этим в течение 3 дней, прежде чем заставить его работать)
Получение доступа root для установки и настройки Mono 3.0.1
sudo -s
***type your root password***
Установить редактор vim
apt-get install vim
Установить apache2
apt-get install apache2
Установить инструменты для компиляции моно
apt-get install autoconf automake libtool g++ gettext libglib2.0-dev libpng12-dev libfontconfig1-dev
apt-get install mono-gmcs
apt-get install git
Установить apache2-threaded-dev (необходимый для компиляции mod_mono) *
apt-get install apache2-threaded-dev
Мы вернемся к конфигурации apache2 позже
Создание структуры, необходимой для получения исходного кода
cd /opt
mkdir mono-3.0
Переместитесь в эту новую папку перед тем, как получить исходный код
cd /opt/mono-3.0
Получение исходного кода из GitHub
git clone git://github.com/mono/mono.git
git clone git://github.com/mono/xsp.git
git clone git://github.com/mono/libgdiplus.git
git clone git://github.com/mono/mod_mono.git
Скомпилировать libgdiplus
cd /opt/mono-3.0/libgdiplus
./autogen.sh --prefix=/usr (the prefix is very important for Ubuntu 12.04)
make
make install
Скомпилировать моно
cd /opt/mono-3.0/mono/
make clean
./autogen.sh --prefix=/usr (the prefix is very important for Ubuntu 12.04)
make
make install
Скомпилировать xsp
cd /opt/mono-3.0/xsp
./autogen.sh --prefix=/usr (the prefix is very important for Ubuntu 12.04)
make
make install
Скомпилировать mod_mono
cd /opt/mono-3.0/mod_mono
./autogen.sh --prefix=/usr (the prefix is very important for Ubuntu 12.04)
make
make install
После установки mod_mono файл mod_mono.conf
* как было добавлено в вашу папку apache2 (/etc/apache2) *
Настройка apache2
Настроить сайт по умолчанию apache ### (необязательный *) **
vim /etc/apache2/sites-available/default
Modify the line "DocumentRoot /var/www" by "DocumentRoot /var/www/YourFolder" (YourFolder is the folder where you publishing your website!)
Настроить права на YourFolder (необязательно *) **
cd /var/www/YourFolder
sudo chown -R root:www-data .
sudo chmod -R 774 .
sudo usermod -a -G www-data <yourusername>
Добавление mod_mono в apache2.conf
vim /etc/apache2/apache2.conf
Add "Include /etc/apache2/mod_mono.conf" at the end of the file (without quotes!)
Добавление указателя на ASP.NET 4.0 в mod_mono.conf
vim /etc/apache2/mod_mono.conf
Add "MonoServerPath /usr/bin/mod-mono-server4" (without quotes!) under the "If Modules condition"
Перезапустить сервер apache2 /etc/init.d/apache2 restart
Ответ 3
У меня есть mono 3.x от источника до нескольких шагов на Ubuntu Raring:
1: Получите зависимости, все в одном ударе:
sudo apt-get install build-essential autoconf automake \
bison flex gtk-sharp2-gapi boo gdb valac libfontconfig1-dev \
libcairo2-dev libpango1.0-dev libfreetype6-dev libexif-dev \
libtiff4-dev libgif-dev zlib1g-dev libatk1.0-dev libjpeg8-dev \
libjpeg-turbo8-dev libglib2.0-dev libgtk2.0-dev libglade2-dev \
libart-2.0-dev libgnomevfs2-dev libgnome-desktop-dev \
libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomeprint2.2-dev \
libgnomeprintui2.2-dev libpanel-applet-4-dev \
libnautilus-extension-dev librsvg2-dev libgtkhtml3.14-dev \
libgtksourceview2.0-dev libgtksourceview2.0-dev libvte-dev \
libwnck-dev libnspr4-dev libnss3-dev libwebkit-dev libvala-0.18-dev
2: Создайте папку где-нибудь, чтобы сохранить источник:
sudo mkdir /opt/mono-3
3: клонировать в папку с git
cd /opt/mono-3
sudo git clone git://github.com/mono/mono.git
cd mono
sudo git checkout mono-3.0.12
4: сборка и установка
sudo ./autogen.sh --prefix=/usr/local
sudo make
sudo make install
Что это!
Чтобы получить последние изменения в System.Drawing.dll и System.Windows.Forms.dll, вам также необходимо настроить, установить и установить libgdiplus.
cd libgdiplus
./autogen.sh --prefix=/usr/local
make
make install
Ответ 4
apt-get install
устанавливает версию версии Mono, на которую распространяется ваша дистрибутива, которая, как представляется, 2.10.8.1. В вашем дистрибутиве могут быть или не быть более новые пакеты Mono, возможно, вам придется выбрать новый канал обновления в вашем диспетчере пакетов распространения. Поскольку вы не указали, какой дистрибутив Linux (и какую версию) вы используете, на него невозможно ответить.
apt-get
предполагает, что это что-то Debian/Ubuntu, но существует много разных версий. Я человек Mac, поэтому я просто не знаю.
См. http://www.mono-project.com/Compiling_Mono для получения инструкций о том, как скомпилировать исходный код.
Однако этот вопрос действительно принадлежит superuser.com, вы получите лучшие ответы, если вы спросите его там.
Ответ 5
Я не нашел это связанным нигде, поэтому он, вероятно, неофициальный, но вы можете установить установщик Windows для Mono 3.0.10 отсюда:
http://download.mono-project.com/archive/3.0.10/windows-installer/mono-3.0.10-gtksharp-2.12.11-win32-0.exe
Изменить. Чтобы убедиться, что вы загружаете последнюю версию, откройте http://download.mono-project.com/archive/ и проверьте каждый из подкаталогов версии (начиная с последнего и перемещая назад), пока вы не найдете тот, который содержит подкаталог "windows-installer".
Ответ 6
Теперь есть ссылка на установщик Windows для Mono 3.0.1. К сожалению, он, похоже, не устанавливается на Windows 7 64bit. Возможно, вам повезет больше.
http://www.go-mono.com/mono-downloads/download.html
Ответ 7
Чтобы завершить Dominique Goudreault отличное решение относительно "Denis The Menace вопрос в комментариях", Ubuntu 13.04 x86. В нем говорится /usr/bin/ld: testgdi.o: undefined ссылка на символ 'g_print' "
Пожалуйста, следуйте этому простому трюку, который сделал это для меня.
http://www.sgvulcan.com/libgdiplus-2-10-9-build-fails-on-slacware-current64-2012-06/
Я не могу ответить на комментарий, как я пожелал, поэтому я должен задать здесь еще один ответ, любое предложение о лучшей практике?
Обновление: Opps, я не заметил, что Дэвид V уже указал на решение, дал ему все заслуги, моя ссылка говорит то же самое, но, возможно, обеспечивает более четкий путь.: P