mab*_*ead 3 powershellget azure-devops azure-pipelines-build-task azure-pipelines
我在构建过程中使用的是Visual Studio Team Services(VSTS)托管的构建代理。我的构建主要依赖于“ PowerShell”步骤,该步骤调用了我在git中拥有的脚本。在此脚本中,我想使用PowerShellGet管理PowerShell模块。例如,我希望能够仅通过运行以下命令来安装pscx
Install-Module -Name pscx
Run Code Online (Sandbox Code Playgroud)
不幸的是,托管代理使用PowerShell 4,并且没有PowerShellGet安装模块。结果,该Install-Module功能不可用。
有人建议在VSTS托管代理上使用PowerShellGet模块吗?请注意,由于我在这台计算机上没有管理员权限,因此无法安装为PowerShell 4安装PowerShellGet的msi。
为了能够使用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 pscx
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1026 次 |
| 最近记录: |