Как установить .netcore на машину CentOs?

Я новичок в ядре .NET и пытаюсь запустить несколько базовых примеров на компьютере с CentOS.

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

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

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

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

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

$ дну восстановить

и

$ днк . бежать

)

При работе под .NET Core ($ dnvm use [версия] -r coreclr) я получаю следующую ошибку:

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

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

$ yum установить libunwind8 libssl-dev разархивировать

Пакеты libunwind8, libssl-dev не найдены.

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

Благодарю вас!


person user3844943    schedule 06.08.2015    source источник
comment
Какая у вас версия Cent-OS? Процедура достаточно сложная. Я задокументировал его в текстовом файле с большим количеством форматирования, что затрудняет преобразование в текстовый ответ. Но мой ответ на аналогичный вопрос с временной ссылкой на этот документ был, к сожалению, удален модераторами, потому что политика StackOverflow не принимает ответы с простой ссылкой на внешнюю ссылку :(   -  person Graffito    schedule 17.08.2015
comment
Я использую CentOS 6.6. Я также нашел это: github.com/aspnet/Home/issues/806 Что в основном говорит о том, что на данный момент core clr не работает с Unix.   -  person user3844943    schedule 17.08.2015
comment
Установка работала для меня на centos 6.5. Я могу передать задокументированную процедуру, т. е. текстовый документ, любым способом по вашему выбору, ftp, электронной почтой, ... кроме как через (непринятую) ссылку stackoverflow. С помощью этой процедуры вы также можете создать каталог для размещения на компакт-диске или USB-накопителе для автономной установки.   -  person Graffito    schedule 17.08.2015
comment
@Graffito - Можете ли вы или кто-то другой сделать ваш документ общедоступным, пожалуйста? Я хотел бы, чтобы он работал под RHEL, и надеюсь, что ваш документ поможет. Спасибо!   -  person rottyguy    schedule 10.09.2015
comment
@rottyguy: ссылка на Моно-установка в документе Centos 6.5   -  person Graffito    schedule 10.09.2015
comment
Я очень близок к запуску .NET на CoreCLR (beta7) в CentOS 7, но сейчас мне нужно установить libunwind8, libssl-dev, libcurl3-dev и zliblg в CentOS. В Ubuntu: sudo apt-get --yes install libunwind8 libssl-dev libcurl3-dev zlib1g работает нормально. Я понимаю, что, скорее всего, мне нужно обновить репозитории пакетов или что-то в этом роде, но у меня возникли проблемы с определением того, КАК ВЫ УЗНАЕТЕ, в каком репозитории может находиться пакет. В Ubuntu 14.04 у меня есть 1.0.0-beta7 coreclr, работающий и обслуживающий проекты. от генератора aspnet. Если у меня получится, я дам полный ответ.   -  person Chris Gomez    schedule 14.09.2015
comment
Я верю, что он у меня есть. Ответ ниже.   -  person Chris Gomez    schedule 14.09.2015
comment
На сегодняшний день 14 февраля 2016 г. dnvm dnx и dnu заменяется на dotnet cli, поэтому, если кто-то хочет получить сборки для разработчиков, попробуйте перейти по ссылке github.com/dotnet/cli   -  person Ranvir    schedule 14.02.2016


Ответы (3)


Теперь вы можете установить .NET Core на CentOS 7, выполнив следующие действия:

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

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

scl enable rh-dotnet20 bash
dotnet --info
person omajid    schedule 13.10.2017

Вот сценарий, который я использую для установки 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

Не удается найти Либув

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

dnx kestrel

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

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

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

Если вы хотите узнать, как установить node, yoman и генераторы aspnet, используйте это:

## 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, если вы действительно не думаете, что ваш вопрос относится к этому.

person Chris Gomez    schedule 14.09.2015
comment
бета 8, похоже, имеет критические изменения. Команда ASP.NET удалила инструкции для CoreCLR в CentOS и варианты для бета-версии 8. Тем не менее, это работает, если вы получаете бета-версию 7 dnx. - person Chris Gomez; 21.10.2015
comment
Beta 8 (и выше) просто нуждается в еще одной библиотеке - libicu. Но для этого нужна его конкретная версия (52), и вы не можете обновить установленную версию, поэтому вам нужно взломать ее вбок. fsoikin.blogspot.com/2015/12/ - person Fyodor Soikin; 18.12.2015

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

https://github.com/dotnet/coreclr

https://github.com/aspnet/home

person rottyguy    schedule 11.09.2015