Поделиться через


Скачивание пакета вручную

В коллекции Powershell поддерживается прямое скачивание пакета с веб-сайта без использования командлетов PowerShellGet. Любой пакет можно скачать в формате NuGet (файла с расширением .nupkg), который можно копировать во внутренний репозиторий.

Примечание

Скачивание пакета вручную не является заменой использования командлета Install-Module. При скачивании пакета не выполняется установка модуля или сценария. В скачанном пакете NuGet нет зависимостей. Следующие инструкции приводятся только в информационных целях.

Получение пакета с помощью скачивания вручную

На каждой странице находится ссылка для скачивания вручную, как показано ниже.

Страница отображения пакетов с параметрами установки

Чтобы скачать пакет вручную, щелкните ссылку Скачать необработанный NUPKG-файл. Копия пакета копируется в папку загрузки с именем <name>.<version>.nupkg.

Пакет NuGet — это ZIP-архив с дополнительными файлами, содержащими сведения о содержимом пакета. Некоторые браузеры, например Internet Explorer, автоматически заменяют расширение .nupkg на .zip. Чтобы развернуть пакет, при необходимости переименуйте файл .nupkg в .zip, затем извлеките его содержимое в локальную папку.

Файл пакета NuGet содержит следующие характерные для NuGet элементы, которые не являются частью исходного упакованного кода:

  • Папка _rels содержит файл .rels со списком зависимостей.
  • Папка package содержит характерные для NuGet данные.
  • Файл [Content_Types].xml описывает работу расширений, например PowerShellGet, с помощью NuGet.
  • Файл <name>.nuspec содержит основной объем метаданных.

Установка модулей PowerShell из пакета NuGet

Примечание

Результат выполнения этих инструкций отличается от результата запуска командлета Install-Module. Эти инструкции отвечают минимальным требованиям. Они не предназначены для использования в качестве замены Install-Module. Некоторые шаги, выполняемые командлетом Install-Module, не указаны.

Проще всего удалить характерные для NuGet элементы из папки. При удалении элементов код PowerShell, созданный автором пакета, остается без изменений. Список элементов, относящихся к NuGet, см. в разделе о скачивании пакета вручную.

Для этого необходимо выполнить следующие шаги:

  1. Разблокируйте скачанный из Интернета файл пакета NuGet (.nupkg), например с помощью командлета Unblock-File -Path C:\Downloads\module.nupkg.
  2. Извлечь содержимое пакета NuGet в локальную папку.
  3. Удалить характерные для NuGet элементы из папки.
  4. Переименовать папку. По умолчанию используется имя папки <name>.<version>. Номер версии может содержать -prerelease, если модуль помечен как предварительная версия. Задать для папки имя модуля. Например, azurerm.storage.5.0.4-preview преобразуется в azurerm.storage.
  5. Скопируйте папку в одну из папок в $env:PSModulePath value. $env:PSModulePath — это набор разделенных точками с запятой путей, в которых оболочка PowerShell должна искать модули.

Важно!

При скачивании вручную не включаются зависимости, необходимые для модуля. Если у пакета есть зависимости, они должны быть установлены в системе для правильной работы этого модуля. В коллекции PowerShell отображаются все зависимости, необходимые для пакета.

Установка сценариев PowerShell из пакета NuGet

Примечание

Результат выполнения этих инструкций отличается от результата запуска командлета Install-Script. Эти инструкции отвечают минимальным требованиям. Они не предназначены для использования в качестве замены Install-Script.

Самым простым способом является извлечение пакета NuGet и использование сценария напрямую.

Для этого необходимо выполнить следующие шаги:

  1. Разблокируйте скачанный из Интернета файл пакета NuGet (.nupkg), например с помощью командлета Unblock-File -Path C:\Downloads\package.nupkg.
  2. Извлечь содержимое пакета NuGet в локальную папку.
  3. Файл .PS1 в папке можно использовать прямо из этого расположения.
  4. Можно удалить характерные для NuGet элементы в папке.

Список элементов, относящихся к NuGet, см. в разделе о скачивании пакета вручную.

Важно!

При скачивании вручную не включаются зависимости, необходимые для модуля. Если у пакета есть зависимости, они должны быть установлены в системе для правильной работы этого модуля. В коллекции PowerShell отображаются все зависимости, необходимые для пакета.