我正在尝试在两个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/

10-13 09:28