手动包下载
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 的元素的列表,请参阅 使用手动下载获取包。
步骤如下:
- 取消阻止 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 库显示包所需的所有依赖项。