function Install-ModuleDependency { <# .SYNOPSIS Install required modules of the module manifest file. .DESCRIPTION Use this cmdlet to install required modules of the module manifest file. .INPUTS [None] .OUTPUTS [None] .EXAMPLE Install-ModuleDependency .NOTES #> [CmdletBinding()] #[OutputType([String])] param () begin { } process { $Repo = Get-RepoPath $ManifestContent = Import-PowerShellDataFile -Path $Repo.Src.Manifest.Item.FullName if ($ManifestContent.RequiredModules) { foreach ($Module in $ManifestContent.RequiredModules) { if ($Module.RequiredVersion) { $ParamsInstallModule = @{ Name = $Module.ModuleName Scope = 'AllUsers' RequiredVersion = $Module.RequiredVersion Force = $true AllowClobber = $true Verbose = $VerbosePreference ErrorAction = 'Stop' } } else { $ParamsInstallModule = @{ Name = $Module.ModuleName Scope = 'AllUsers' MinimumVersion = $Module.ModuleVersion Force = $true AllowClobber = $true Verbose = $VerbosePreference ErrorAction = 'Stop' } } try { Install-Module @ParamsInstallModule $Message = 'Module <{0}> successfully installed' -f $Module.ModuleName Write-Verbose -Message $Message } catch { $Message = 'Module <{0}> could not be installed! ' -f $Module.ModuleName $Message += $_.Exception.Message Write-Error -Message $Message -ErrorAction 'Stop' } } } else { Write-Verbose -Message 'no required modules found...' } } end { } }