我在构建过程中使用(VSTS)承载的构建代理。我的构建主要依赖于“PowerShell”步骤,它调用了我在git中拥有的脚本。在这个脚本中,我希望使用PowerShell管理PowerShellGet模块。例如,我希望能够通过运行pscx来安装
Install-Module -Name pscx不幸的是,托管代理使用PowerShell 4,而且它们没有安装PowerShellGet模块。因此,Install-Module函数不可用。
有人建议在VSTS托管代理上使用PowerShellGet模块吗?注意,由于我在这台机器上没有管理权限,所以我无法安装安装PowerShellGet for PowerShell 4的msi。
发布于 2016-05-01 11:25:18
为了能够使用PowerShellGet,需要两个PowerShell模块:
这些可以通过PowerShell 5或通过PowerShell库上可用的msi安装程序提供。
与通过msi部署这些模块不同,您可以简单地将它们添加到git存储库(例如:在一个名为PsModules的文件夹中)。您将能够在安装了PS5或msi的机器上得到这些模块的帮助。它们通常位于C:\Program Files\WindowsPowerShell\Modules文件夹中。
然后,将PsModules文件夹添加到PSModulePath环境变量中。从这里开始,可以使用PowerShellGet,如下所示:
$env:PSModulePath = "$env:BUILD_SOURCESDIRECTORY\PsModules;$env:PSModulePath"
Import-Module PowerShellGet
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -Scope currentuser
Save-Module pscx -path "$env:BUILD_SOURCESDIRECTORY\PsModules"
import-module pscx
Write-Host '************************'
Get-Command -module pscxhttps://stackoverflow.com/questions/36954237
复制相似问题