我正在尝试在两个PowerShell模块之间创建一个简单的依赖关系,但是却出现了语法错误或某些错误。Module1.psd1
:
@{
RootModule = 'Module1.psm1'
ModuleVersion = '1.0'
GUID = '11111111-1111-1111-1111-111111111111'
Author = 'uw'
FunctionsToExport = @()
CmdletsToExport = @()
VariablesToExport = '*'
AliasesToExport = @()
}
Module2.psd1
:@{
RootModule = 'Module2.psm1'
ModuleVersion = '1.0'
GUID = '22222222-2222-2222-2222-222222222222'
Author = 'uw'
FunctionsToExport = @()
CmdletsToExport = @()
VariablesToExport = '*'
AliasesToExport = @()
RequiredModules = @(
@{
ModuleName = "Module1";
ModuleVersion = "1.0";
Guid = "11111111-1111-1111-1111-111111111111"
}
)
}
Module2
的模块 list 定义了Module2
取决于Module1
。运行
Test-ModuleManifest Module2.psd1
时,出现以下错误:Test-ModuleManifest : The specified RequiredModules entry 'Module1' in the module manifest 'Module2.psd1' is invalid.
Try again after updating this entry with valid values.
最佳答案
问题出在Test-ModuleManifest
期望所有必需的模块都安装在本地系统上。
因此,解决方法是先安装Module1
,然后验证Module2
的 list 。
参见https://github.com/PowerShell/PowerShellGet/blob/90c5a3d4c8a2e698d38cfb5ef4b1c44d79180d66/Tests/PSGetPublishModule.Tests.ps1#L1470。
关于powershell - 如何在PowerShell模块 list (psd1)中定义RequiredModules?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46216038/