2015-08-06 7 views
3

Я новичок в ядре .NET, и я пытаюсь запустить некоторые базовые примеры на машине CentOS.Как установить .netcore на машину CentOs?

Я прочитал документ Microsoft и нашел эти шаги, чтобы быть ближе руководством, что я хочу сделать:

http://dotnet.github.io/core/getting-started/

После выполнения этих шагов я мог запустить тестовое приложение/образца, но только под моно (egafter выдачи

использование $ DNVM [версия] -r моно

с последующим

$ ДНУ восстановить

и

$ DNX. запустить

)

При работе под .NET Ядра (использование $ DNVM [версия] -r CoreCLR) я получаю следующее сообщение об ошибке:

DnX: /usr/lib64/libstdc++.so.6 : version GLIBCXX_3.4.14' not found (required by dnx) dnx: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.15 'не найдено (требуется по dnx)

Я пробовал обновлять свой gcc, но безрезультатно. Я также обнаружил, что некоторые ошибки при выдаче:

$ ня установить libunwind8 libssl-DEV распакуйте

В libunwind8, libssl-DEV пакеты, где не найдены.

Связаны ли эти два? Кто-нибудь успешно установил ядро ​​.NET на CentOS? Если бы вы могли указать мне на руководство или объяснить процесс?

Спасибо!

+0

Какова ваша версия Cent-Os? Процедура довольно сложная. Я зарегистрировал его в текстовом файле с большим количеством форматирования, что затрудняет преобразование в текстовый ответ. Но мой ответ на аналогичный вопрос с временной ссылкой на этот документ, к сожалению, был удален модераторами, потому что политика StackOverflow не принимает ответы с простой ссылкой на внешнюю ссылку :( – Graffito

+0

Я использую CentOS 6.6. это: https: // github.com/aspnet/Главная/вопросы/806 Что в основном говорит о том, что в настоящее время основной clr не работает с Unix. – user3844943

+0

Установка работала для меня на centos 6.5. Я могу передать документированную процедуру, то есть документ слова, по вашему выбору, ftp, e-mail, ... кроме как через (непринятую) ссылку stackoverflow. С помощью этой процедуры вы также можете создать каталог для установки на компакт-диск или USB-ключ для автономной установки. – Graffito

ответ

1

Спасибо за док, но вопрос как OP & у меня был относительно Microsoft .net impl, а не Mono. Как многие могут знать, Microsoft открыла сеть .Net в начале 2015 года и активно пытается сделать ее xplat. Пожалуйста, смотрите:

https://github.com/dotnet/coreclr

https://github.com/aspnet/home

3

Вот скрипт я использую, чтобы установить CoreCLR на CentOS 7. Я тестировал это против двух установок на VirtualBox:

Мой тест виртуальных машин

CentOS 7 с GNOME Рабочий стол и сетевые устройства включены

CentOS 7 с включенной поддержкой сети (почти минимальная установка, все, что у вас есть, это терминал, но ваша сетевая карта работает так, что вы можете скачать материал)

Я возвращаюсь к чистой точке установки, чтобы повторить тесты.

Yum пакеты

Обратите внимание на оригинальный плакат застрял, пытаясь выяснить Yum версии зависимостей CoreCLR. Я считаю, что я это сделал. На данный момент у меня не было никаких проблем, но CoreCLR экспериментальна, и мы на бета-версии 7 для этого ответа.

Обратите внимание, что без установки всех этих шагов на установке CentOS с установленным рабочим столом GNOME я отмечаю в комментариях то, что вам не нужно на каждом из них.

Этот сценарий никогда не устанавливает Mono и должен быть хорош для игры с CoreClr. Тем не менее, я поставил их как на машину, так и на работу, но это выходит за рамки ответа.

## Get DNVM 
curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh 

## install unzip before installing any dnx versions 
## (appears to already be installed on CentOS with GNOME) 
sudo yum install -y unzip 

## Install CoreCLR latest 
dnvm install latest -r coreclr 

## install libuv 
## dnu restore won't operate without this 
## (curl already latest version, but ASP.NET on Linux docs currently have this... harmless) 
sudo yum -y install automake libtool curl 
curl -sSL https://github.com/libuv/libuv/archive/v1.4.2.tar.gz | sudo tar zxfv - -C /usr/local/src 
cd /usr/local/src/libuv-1.4.2 
sudo sh autogen.sh 
sudo ./configure 
sudo make 
sudo make install 
sudo rm -rf /usr/local/src/libuv-1.4.2 && cd ~/ 
sudo ldconfig 

## libunwind.x86_64 is in the epel-release repository 
## (Not necessary on GNOME, minimal install does not have this installed) 
sudo yum -y install epel-release 

## Install these CoreCLR dependencies before dnu restore 
sudo yum -y install libunwind gettext libcurl-devel openssl-devel zlib 

Libuv не может быть найден

Так после того, как вы сделаете все это, вы можете использовать генераторы йомен asp.net, чтобы получить проект. Обычно я тестирую ConsoleApplication и WebApplicationBasic. Тем не менее, когда вы пытаетесь WebApplicationBasic с

dnx kestrel 

Он взрывается, потому что пустельга хочет использовать libuv и не может загрузить его. Один из способов решения этой проблемы - установить переменную среды: LD_LIBRARY_PATH =/usr/local/lib.

Но я не был доволен этим. Благодаря paule96 на GitHub, я узнал, вы могли бы создать символические ссылки, чтобы libuv можно найти, когда пустельга работает:

ln -s /usr/lib64/libdl.so.2 /usr/lib64/libdl 
ln -s /usr/local/lib/libuv.so /usr/lib64/libuv.so.1 

Если вы хотите знать, как установить узел, YEOMAN и САША-генераторы, используйте:

## rpm for node 0.12 on centos from nodesource 
sudo rpm -ivh https://rpm.nodesource.com/pub_0.12/el/7/x86_64/nodejs-0.12.7-1nodesource.el7.centos.x86_64.rpm 

## yeoman and aspnet generators 
sudo npm install -g yo 
sudo npm install -g generator-aspnet 

почтением, я хотел бы просить оригинальный плакат, чтобы изменить вопрос упомянуть это для ASP.NET бета 7. Там все еще нарушая изменения, которые будут сделаны, и я, вероятно, придется обновить свои скрипты. Но если в этом четко сказано это, нам не придется беспокоиться о том, что ответ становится устаревшим.

Например: Как настроить ASP.NET 5 Beta 7 на CoreCLR для CentOS? или Как настроить Beta 7 .NET CoreCLR на CentOS?

Я также прошу рассмотреть возможность добавления тега asp.net-5, если вы действительно не думаете, что ваш вопрос относится к этому вопросу.

+0

beta 8, похоже, имеет нарушения. Команда ASP.NET удалила инструкции для CoreCLR на CentOS и варианты для бета-версии 8. Тем не менее, она работает, если вы получаете бета-версию 7 dnx. –

+0

Beta 8 (и выше) просто нужна еще одна библиотека - 'libicu'. Но ему нужна определенная версия (52), и вы не можете обновить установленную версию, поэтому вам нужно взломать ее в боковом направлении. http://fsoikin.blogspot.com/2015/12/getting-coreclr-running-on-centos.html –

3

Вы можете установить .NET Сердечник на CentOS 7 Теперь, используя следующие шаги:

yum install centos-release-dotnet 
yum install rh-dotnet20 

Чтобы использовать его:

scl enable rh-dotnet20 bash 
dotnet --info