您可以使用
Save-Module
命令手动下载模块zip。
Find-Module -Name 'XXX' -Repository 'PSGallery' | Save-Module -Path 'E:\Modules'
从这里开始,你可以使用完全合格的名称导入模块,像这样:
从这里开始,您可以使用完全合格的名称导入模块,如下所示:
Import-Module -FullyQualifiedName 'E:\Modules\XXX'
或者像之前一样,将目标文件夹添加到PSModulePath
中。
$modulePath = [Environment]::GetEnvironmentVariable('PSModulePath')
$modulePath += ';E:\Modules'
[Environment]::SetEnvironmentVariable('PSModulePath', $modulePath)
您随后可以使用 Get-Module
命令来检查模块是否已导入。
如果您正在使用Import-Module
命令,这可能会有些麻烦,特别是如果您有很多模块。因此,您可以将此方法封装在函数中,如下所示:
function Install-ModuleToDirectory {
[CmdletBinding()]
[OutputType('System.Management.Automation.PSModuleInfo')]
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
$Name,
[Parameter(Mandatory = $true)]
[ValidateScript({ Test-Path $_ })]
[ValidateNotNullOrEmpty()]
$Destination
)
if (-not (Test-Path (Join-Path $Destination $Name))) {
Find-Module -Name $Name -Repository 'PSGallery' | Save-Module -Path $Destination
}
Import-Module -FullyQualifiedName (Join-Path $Destination $Name)
return (Get-Module)
}
Install-ModuleToDirectory -Name 'XXX' -Destination 'E:\Modules'