手动包下载

PowerShell 库支持直接从网站下载包,而无需使用 PowerShellGet cmdlet。 可以将任何包下载为 NuGet 包(.nupkg)文件,然后可以复制到内部存储库。

注意

手动包下载 用作 Install-Module cmdlet 的替代项。 下载包不会安装模块或脚本。 下载的 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 的文件 - 包含大部分元数据

从 NuGet 包安装 PowerShell 模块

注意

这些说明 请勿 提供与运行 Install-Module相同的结果。 这些说明满足最低要求。 它们不打算取代 Install-Module。 不包括 Install-Module 执行的一些步骤。

最简单的方法是从文件夹中删除特定于 NuGet 的元素。 删除元素会离开包作者创建的 PowerShell 代码。 有关特定于 NuGet 的元素的列表,请参阅 使用手动下载获取包

步骤如下:

  1. 取消阻止 Internet 下载的 NuGet 包(.nupkg)文件,例如使用 Unblock-File -Path C:\Downloads\module.nupkg cmdlet。
  2. 将 NuGet 包的内容提取到本地文件夹。
  3. 从文件夹中删除特定于 NuGet 的元素。
  4. 重命名文件夹。 默认文件夹名称通常 <name>.<version>。 如果模块标记为预发行版,则版本可以包含 -prerelease。 将文件夹重命名为模块名称。 例如,azurerm.storage.5.0.4-preview 变为 azurerm.storage
  5. 将文件夹复制到 $env:PSModulePath value中的其中一个文件夹。 $env:PSModulePath 是一组以分号分隔的路径,PowerShell 应在其中查找模块。

重要

手动下载不包括模块所需的任何依赖项。 如果包具有依赖项,则必须在系统上安装它们才能使此模块正常工作。 PowerShell 库显示包所需的所有依赖项。

从 NuGet 包安装 PowerShell 脚本

注意

这些说明 请勿 提供与运行 Install-Script相同的结果。 这些说明满足最低要求。 它们不打算取代 Install-Script

最简单的方法是提取 NuGet 包,然后直接使用脚本。

步骤如下:

  1. 取消阻止 Internet 下载的 NuGet 包(.nupkg)文件,例如使用 Unblock-File -Path C:\Downloads\package.nupkg cmdlet。
  2. 提取 NuGet 包的内容。
  3. 文件夹中的 .PS1 文件可以直接从此位置使用。
  4. 可以删除文件夹中特定于 NuGet 的元素。

有关特定于 NuGet 的元素的列表,请参阅 使用手动下载获取包

重要

手动下载不包括模块所需的任何依赖项。 如果包具有依赖项,则必须在系统上安装它们才能使此模块正常工作。 PowerShell 库显示包所需的所有依赖项。