Установка NuGet в Windows

Обновлено 10.02.2022

PowerShell logo

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами разлочили флешку, которая выдавала ошибку диск защищен от записи. Идем далее и сегодня я хочу вам рассказать, что такое NuGet и как его установить или обновить в систему, расскажу про небольшой траблшутинг по нему. Уверен, что многие оценят данный материал и выскажутся о нем в комментариях под статьей или в телеграм канале. Давайте приступать.

Что такое NuGet?

Традиционный способ установки модуля в Windows — это найти его в Интернете, затем загрузить и установить. Но в Windows Server 2016 этот способ управления модулями на машине был полностью изменён. Теперь он поставляется с встроенным в Windows PowerShell модулем PowershellGet. PowershellGet поможет вам найти, скачать, установить и управлять модулями на машине.

PowershellGet работает с несколькими поставщиками. Эти поставщики - клиентские инструменты, которые подключаются к представленному источником репозиторию модуля. Наиболее важный работающий с Windows Server 2016 поставщик PowershellGet - это NuGet.

NuGet — официальный менеджер пакетов для .NET (Windows). Пакеты в основном представляют собой скомпилированную библиотеку с некоторыми описательными метаданными. NuGet — это важный инструмент для любой современной платформы разработки. Это механизм, с помощью которого разработчики могут создавать, совместно использовать код. Часто такой код объединяется в пакеты, которые содержат скомпилированный код вместе с другим содержимым, необходимым в проектах, использующих эти пакеты. Пакет NuGet содержит один ZIP-файл с расширением .nupkg  , который состоит из скомпилированного кода (DLL) и такой информации, как номер версии пакета.

NuGet сам обрабатывает все промежуточные детали, например, если разработчик с кодом, который хочет поделиться, создает пакет и публикует его на общедоступном или частном узле. Затем потребители пакетов получают эти пакеты с подходящих хостов, добавляют их в свои проекты и, наконец, вызывают функциональность пакета в своем коде. Можно использовать код пакетов NuGet, разработанный организацией, поскольку он поддерживает частные узлы наряду с общедоступным узлом nugget.org. Пакеты NuGet также можно использовать удобным способом для факторизации кода, используя его в своих проектах. Nuget считается общедоступной единицей кода, но для него не требуются какие-либо специальные средства совместного использования.

Он обеспечивает возможность работы не только с модулями, но и с приложениями или пакетами. NuGet может работать с несколькими источниками, но PSGallery — наиболее простые и привилегированные источники репозитория для PowershellGet.

  • NuGet предоставляет центральный репозиторий nuget.org с поддержкой частного хостинга.
  • NuGet предоставляет разработчикам инструменты, необходимые для создания, публикации и использования пакетов.
  • NuGet поддерживает справочный список пакетов, используемых в проекте, и возможность восстанавливать и обновлять эти пакеты из этого списка.
  • Помимо этого, NuGet поддерживает все спецификации, связанные со структурой пакетов, например локализацией и ссылками на них. Nuget предоставляет множество API-интерфейсов для программной работы со всеми своими службами, а также предоставляет поддержку разработчикам, публикующим расширения Visual Studio.
  • NuGet предоставляет кэш пакетов и глобальную папку для пакетов, чтобы упростить установку и процесс переустановки. Кэш будет полезен, если есть пакет, который уже находится на локальной машине.

NuGet помогает в общем графе зависимостей, что позволяет избежать множественных ссылок на разные версии одного и того же пакета. Некоторые служебные пакеты используются многими другими пакетами. Таким образом, у вас может быть больше ссылок на разные версии одного и того же пакета. Чтобы не добавлять в проект разные версии одного и того же пакета, NuGet определяет, какая версия может использоваться всеми потребителями. т.е. он решает проблемы зависимости в собственном проекте

Как установить последнюю версию nuget

Запустите PowerShell в режиме администратора и введите команду:

Install-PackageProvider -Name NuGet -Force

Установка nuget в Windows

Если выскочит ошибка "Unable to resolve package source 'https://www.powershellgallery.com/api/v2/", то посмотрите как ее легко устранить

А теперь еще скачаем последнюю версию самой утилиты:

Start-BitsTransfer https://dist.nuget.org/win-x86-commandline/latest/nuget.exe $PsHome\Nuget.exe
Unblock-File $PsHome\Nuget.exe
Set-Alias nuget $PsHome\Nuget.exe

Закройте все окна PowerShell. Откройте и теперь мы имеем алиас nuget.

Как создать постоянные псевдонимы PowerShell

Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *