Скачивание пакета вручную
В коллекции 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, см. в разделе о скачивании пакета вручную.
Для этого необходимо выполнить следующие шаги:
- Разблокируйте скачанный из Интернета файл пакета NuGet (
.nupkg
), например с помощью командлетаUnblock-File -Path C:\Downloads\module.nupkg
. - Извлечь содержимое пакета NuGet в локальную папку.
- Удалить характерные для NuGet элементы из папки.
- Переименовать папку. По умолчанию используется имя папки
<name>.<version>
. Номер версии может содержать-prerelease
, если модуль помечен как предварительная версия. Задать для папки имя модуля. Например,azurerm.storage.5.0.4-preview
преобразуется вazurerm.storage
. - Скопируйте папку в одну из папок в
$env:PSModulePath value
.$env:PSModulePath
— это набор разделенных точками с запятой путей, в которых оболочка PowerShell должна искать модули.
Важно!
При скачивании вручную не включаются зависимости, необходимые для модуля. Если у пакета есть зависимости, они должны быть установлены в системе для правильной работы этого модуля. В коллекции PowerShell отображаются все зависимости, необходимые для пакета.
Установка сценариев PowerShell из пакета NuGet
Примечание
Результат выполнения этих инструкций отличается от результата запуска командлета Install-Script
. Эти инструкции отвечают минимальным требованиям. Они не предназначены для использования в качестве замены Install-Script
.
Самым простым способом является извлечение пакета NuGet и использование сценария напрямую.
Для этого необходимо выполнить следующие шаги:
- Разблокируйте скачанный из Интернета файл пакета NuGet (
.nupkg
), например с помощью командлетаUnblock-File -Path C:\Downloads\package.nupkg
. - Извлечь содержимое пакета NuGet в локальную папку.
- Файл
.PS1
в папке можно использовать прямо из этого расположения. - Можно удалить характерные для NuGet элементы в папке.
Список элементов, относящихся к NuGet, см. в разделе о скачивании пакета вручную.
Важно!
При скачивании вручную не включаются зависимости, необходимые для модуля. Если у пакета есть зависимости, они должны быть установлены в системе для правильной работы этого модуля. В коллекции PowerShell отображаются все зависимости, необходимые для пакета.
PowerShell Gallery