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