手动包下载
PowerShell 库支持直接下载网站中的包而无需使用 PowerShellGet cmdlet。 可以将任何包下载为 NuGet 包 (.nupkg
) 文件,然后可以将该文件复制到内部存储库。
备注
手动包下载并非 旨在替代 Install-Module
cmdlet。
下载包不会安装模块或脚本。 下载的 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
的文件 - 包含大量元数据
从 NuGet 包安装 PowerShell 模块
备注
这些说明并未给出与运行 Install-Module
相同的结果。 这些说明满足最低要求。 它们并非 Install-Module
的替代品。
Install-Module
执行的某些步骤不包括在内。
最简单的方法是从文件夹中删除特定于 NuGet 的元素。 删除元素将保留由包创建者创建的 PowerShell 代码。 有关特定于 NuGet 的元素的列表,请参阅使用手动下载以获取包。
步骤如下:
- 取消阻止 Internet 下载的 NuGet 包 (
.nupkg
) 文件,例如使用Unblock-File -Path C:\Downloads\module.nupkg
cmdlet。 - 将 NuGet 包的内容提取到本地文件夹。
- 从文件夹中删除特定于 NuGet 的元素。
- 重命名文件夹。 默认文件夹名称通常是
<name>.<version>
。 若将模块标记为预发布版本,则版本可包含-prerelease
。 将文件夹重命名为模块名称。 例如,azurerm.storage.5.0.4-preview
重命名为azurerm.storage
。 - 将文件夹复制到
$env:PSModulePath value
中的一个文件夹。$env:PSModulePath
是以分号分隔的一组路径,PowerShell 应在这些路径中查找模块。
重要
手动下载不包括模块所需的任何依赖项。 若包具有依赖项,则必须在系统上安装它们才能使此模块正常工作。 PowerShell 库显示包所需的所有依赖项。
在 NuGet 包安装 PowerShell 脚本
备注
这些说明并未给出与运行 Install-Script
相同的结果。 这些说明满足最低要求。 它们并非 Install-Script
的替代品。
最简单的方法是提取 NuGet 包,然后直接使用脚本。
步骤如下:
- 取消阻止 Internet 下载的 NuGet 包 (
.nupkg
) 文件,例如使用Unblock-File -Path C:\Downloads\package.nupkg
cmdlet。 - 提取 NuGet 包的内容。
- 文件夹中的
.PS1
文件可直接从此位置使用。 - 可删除文件夹中特定于 NuGet 的元素。
有关特定于 NuGet 的元素的列表,请参阅使用手动下载以获取包。
重要
手动下载不包括模块所需的任何依赖项。 若包具有依赖项,则必须在系统上安装它们才能使此模块正常工作。 PowerShell 库显示包所需的所有依赖项。