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


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

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

Заметка

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

Использование ручного скачивания для получения пакета

Каждая страница содержит ссылку для скачивания вручную, как показано здесь:

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

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

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