2016-12-29 11 views
0

Я пытаюсь установить Nuget на образ Amazon Linux. Моя цель - провести некоторое исследование с помощью SDK AWS .NET, который поддерживает некоторую поддержку .netcore.Как установить Nuget на Amazon Linux

Я пробовал три (по новой попытке каждой попытки) основные методы установки.

1 - Установить .netcore, затем скомпилировать Nuget из источника.

Я установил .netcore успешно следуя указания here хотя я модифицированный (мои изменения выделены жирным шрифтом), как обновления пути, сохраняется, выполнив следующие действия:

# sudo yum install libunwind libicu -y 
# curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019 
# sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet 
**# echo 'pathmunge /opt/dotnet' > /etc/profile.d/dotnetcore.sh** 
**# chmod +x /etc/profile.d/dotnetcore.sh** 
**# . /etc/profile** 

Я тогда клонированные коды NuGet из здесь https://github.com/NuGet/NuGet.Client и запустил build.sh, который успешно завершился, но не создал подкаталог артефактов с исполняемым файлом Nuget. Этот метод предназначен только для установки NuGet CLI, а не менеджера пакетов, но не установлен. В этом Linux поддерживается только CLI: https://docs.nuget.org/ndocs/guides/install-nuget («NuGet CLI - это утилита командной строки, которая работает в Windows, Mac OS X и Linux и поддерживает все возможности NuGet.»)

2 - Установить Mono и запустить «ням установить NuGet»

я успешно установил Mono, выполнив следующие действия:

# sudo yum -y install cmake bison gettext glib2 freetype fontconfig libpng 
     libpng-devel libX11 libX11-devel glib2-devel libexif glibc-devel 
     urw-fonts java  
     unzip gcc gcc-c++ automake autoconf libtool make bzip2 wget 
# cd /usr/local/src 
# sudo wget http://download.mono-project.com/sources/mono/mono-4.8.0.382.tar.bz2 
# sudo tar jxf mono-4.8.0.382.tar.bz2 
# cd mono-4.8.0 
# sudo ./configure --prefix=/opt/mono 
# sudo make 
# sudo make install 

После был установлен моно и испытанный я добавил некоторые операции РЕПО со следующими командами:

# rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" 
# yum-config-manager --add-repo http://download.mono-project.com/repo/centos/ 
# yum-config-manager --add-repo http://download.mono-project.com/repo/centos-nightly/ 

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

Loaded plugins: priorities, update-motd, upgrade-helper 
amzn-main/latest                              
amzn-updates/latest                             
Resolving Dependencies 
--> Running transaction check 
---> Package nuget.noarch 0:2.12+mono-0.xamarin.1 will be installed 
--> Processing Dependency: mono(Microsoft.Build.Engine) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(System.ServiceModel) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(Microsoft.Build.Framework) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(System.Xml.Linq) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(System.Runtime.Serialization) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(WindowsBase) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(Microsoft.CSharp) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(System.ComponentModel.DataAnnotations) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(Microsoft.Build) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(System.Security) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(System.ComponentModel.Composition) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(mscorlib) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(System) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(System.Core) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(System.Xml) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Processing Dependency: mono(System.Data.Services.Client) = 4.0.0.0 for package: nuget-2.12+mono-0.xamarin.1.noarch 
--> Running transaction check 
---> Package mono-core.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
--> Processing Dependency: mono(System.ServiceProcess) = 4.0.0.0 for package: mono-core-4.9.0.1028-0.nightly.1.x86_64 
--> Processing Dependency: libgdiplus0 for package: mono-core-4.9.0.1028-0.nightly.1.x86_64 
---> Package mono-data.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
---> Package mono-devel.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
--> Processing Dependency: mono-data-oracle = 4.9.0.1028 for package: mono-devel-4.9.0.1028-0.nightly.1.x86_64 
--> Processing Dependency: mono-winforms = 4.9.0.1028 for package: mono-devel-4.9.0.1028-0.nightly.1.x86_64 
--> Processing Dependency: libgdiplus-devel for package: mono-devel-4.9.0.1028-0.nightly.1.x86_64 
--> Processing Dependency: libmonosgen-2.0.so.1()(64bit) for package: mono-devel-4.9.0.1028-0.nightly.1.x86_64 
---> Package mono-wcf.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
--> Processing Dependency: mono(System.Web.Extensions) = 4.0.0.0 for package: mono-wcf-4.9.0.1028-0.nightly.1.x86_64 
---> Package mono-web.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
--> Processing Dependency: mono(Mono.Data.Sqlite) = 4.0.0.0 for package: mono-web-4.9.0.1028-0.nightly.1.x86_64 
---> Package mono-winfxcore.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
--> Running transaction check 
---> Package libgdiplus-devel.x86_64 0:3.12-1 will be installed 
---> Package libgdiplus0.x86_64 0:3.12-1 will be installed 
--> Processing Dependency: libpng15.so.15(PNG15_0)(64bit) for package: libgdiplus0-3.12-1.x86_64 
--> Processing Dependency: libtiff.so.5(LIBTIFF_4.0)(64bit) for package: libgdiplus0-3.12-1.x86_64 
--> Processing Dependency: libtiff.so.5()(64bit) for package: libgdiplus0-3.12-1.x86_64 
--> Processing Dependency: libcairo.so.2()(64bit) for package: libgdiplus0-3.12-1.x86_64 
--> Processing Dependency: libpng15.so.15()(64bit) for package: libgdiplus0-3.12-1.x86_64 
---> Package libmonosgen-2_0-1.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
---> Package mono-data-oracle.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
---> Package mono-data-sqlite.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
---> Package mono-extras.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
---> Package mono-mvc.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
---> Package mono-winforms.x86_64 0:4.9.0.1028-0.nightly.1 will be installed 
--> Running transaction check 
---> Package cairo.x86_64 0:1.12.14-6.8.amzn1 will be installed 
--> Processing Dependency: libpixman-1.so.0()(64bit) for package: cairo-1.12.14-6.8.amzn1.x86_64 
---> Package libgdiplus0.x86_64 0:3.12-1 will be installed 
--> Processing Dependency: libpng15.so.15(PNG15_0)(64bit) for package: libgdiplus0-3.12-1.x86_64 
--> Processing Dependency: libpng15.so.15()(64bit) for package: libgdiplus0-3.12-1.x86_64 
---> Package libtiff.x86_64 0:4.0.3-25.27.amzn1 will be installed 
--> Processing Dependency: libjbig.so.2.0()(64bit) for package: libtiff-4.0.3-25.27.amzn1.x86_64 
--> Running transaction check 
---> Package jbigkit-libs.x86_64 0:2.0-11.4.amzn1 will be installed 
---> Package libgdiplus0.x86_64 0:3.12-1 will be installed 
--> Processing Dependency: libpng15.so.15(PNG15_0)(64bit) for package: libgdiplus0-3.12-1.x86_64 
--> Processing Dependency: libpng15.so.15()(64bit) for package: libgdiplus0-3.12-1.x86_64 
---> Package pixman.x86_64 0:0.32.4-4.11.amzn1 will be installed 
--> Finished Dependency Resolution 
**Error: Package: libgdiplus0-3.12-1.x86_64 (download.mono-project.com_repo_centos_)** 
     **Requires: libpng15.so.15()(64bit)** 
**Error: Package: libgdiplus0-3.12-1.x86_64 (download.mono-project.com_repo_centos_)** 
     **Requires: libpng15.so.15(PNG15_0)(64bit)** 
You could try using --skip-broken to work around the problem 
You could try running: rpm -Va --nofiles --nodigest 

Я попытался повторно установить с помощью команды --skip разбитого, но NuGet не установить.

В этот момент я попытался вручную обновить пакеты Libpng путем создания последней версии кода Libpng здесь http://www.libpng.org/pub/png/libpng.html

На данный момент я начинающуюся достичь предела своих возможностей Линукс. Я был в состоянии преуспевающим построить Libpng с

./configure 
make 
make install 

Но я не уверен, что библиотеки, где обновлены или если я только сейчас две версии Libpng. Я не уверен, как посмотреть, какая версия используется Yum.

3 - Установите ядро ​​.net затем запустить «ни установить NuGet»

я получаю ту же самую ошибку, которую я получил в попытке # 2.

+0

Если вы используете .NET Core, то «восстановление dotnet» - это способ переноса операций восстановления NuGet. Если вы используете Mono, прекратите строить из исходного кода, поскольку вы еще не знаете, как он работает. Домашняя страница проекта Mono четко показывает, как установить двоичные файлы из репозитория Xamarin, но вам нужно найти чистую машину, чтобы начать работу на этом этапе. –

ответ

1

Просто побежал по той же проблеме, смог ее решить, установив вручную libpng. Если вы сейчас находитесь в одной и той же среде, сначала удалите текущий libpng.

yum remove libpng

После того, что вы можете сделать это в пути:

mkdir -p /tmp/dependencies 
cd /tmp/dependencies 
wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/l/libpng15-1.5.28-2.fc26.x86_64.rpm 
yum install -y libpng15-1.5.28-2.fc26.x86_64.rpm 
yum install -y yum-utils 
rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" 
yum-config-manager --add-repo http://download.mono-project.com/repo/centos/ 
yum clean all 
yum makecache 
yum install -y mono-complete nuget 
cd 
rm -rf /tmp/dependencies 

ПРИМЕЧАНИЕ: Убедитесь также у вас есть enabled EPEL на машине.

Также может случиться так, что вам не удалось, потому что вы не выяснили зависимость кэша yum.

 Смежные вопросы

  • Нет связанных вопросов^_^