共用方式為


安裝一個 PowerShell 的套件管理器

如果你使用的是 PowerShell 6.0 或更新版本,你已經安裝了較新的 PowerShellGetPackageManagement 。 你應該確保你使用的是最新版本的模組。

如果你使用的是 PowerShell 7.4 或更新版本,你也安裝了 Microsoft.PowerShell.PSResourceGetMicrosoft.PowerShell.PSResourceGet 是 PowerShell 的新套件管理解決方案。 有了這個模組,你就不需要再使用 PowerShellGetPackageManagement。 它是與現有的 PowerShellGetPackageManagement 模組並排安裝的。

Windows PowerShell 隨 PowerShellGetPackageManagement 版本 1.0.0.1 出廠。 如果你使用的是 Windows PowerShell 5.1,必須升級到最新版本的 PowerShellGet 和 PackageManagement。 PowerShellGet v1.x 的所有版本均已不再支援。

請依照以下指示安裝或更新至這些模組的最新版本。

步驟 1:啟用 TLS 1.2

要存取 PowerShell Gallery,您必須使用 Transport Layer Security (TLS) 1.2 或更高版本。 請使用以下指令在你的 PowerShell 工作階段啟用 TLS 1.2。

[Net.ServicePointManager]::SecurityProtocol =
    [Net.ServicePointManager]::SecurityProtocol -bor
    [Net.SecurityProtocolType]::Tls12

將此指令加入你的 PowerShell 設定檔腳本,確保每個 PowerShell 會話都設定 TLS 1.2。 如需有關設定檔的更多資訊,請參閱 about_Profiles

步驟二:檢查已安裝的版本

要檢查目前安裝的模組版本,請執行以下指令:

$Names = @('PowerShellGet', 'PackageManagement', 'Microsoft.PowerShell.PSResourceGet')
Get-Module -Name $Names -ListAvailable

在新安裝的 Windows 系統上執行 Windows PowerShell 5.1 時,你應該會得到以下輸出:

    Directory: C:\Program Files\WindowsPowerShell\Modules


ModuleType Version  Name               ExportedCommands
---------- -------  ----               ----------------
Binary     1.0.0.1  PackageManagement  {Find-Package, Get-Package, ...
Script     1.0.0.1  PowerShellGet      {Install-Module, Find-Module, ...

如果 PowerShellGet 版本比1.0.0.1它新,你可以檢查更新並安裝最新版本

如果你仍在執行版本 1.0.0.1,必須依照步驟讓 PowerShellGet 安裝更新的 NuGet 提供者和 nuget.exe 命令列工具。 繼續至下個步驟。

步驟三:檢查更新

要檢查 PowerShell Gallery 中模組的最新版本,請執行以下指令:

$Names = @('PowerShellGet', 'PackageManagement', 'Microsoft.PowerShell.PSResourceGet')
Find-Module -Name $Names -Repository PSGallery

你應該會得到類似以下輸出的結果:

Version   Name                                Repository   Description
-------   ----                                ----------   -----------
1.4.8.1   PackageManagement                   PSGallery    PackageManagement (a.k.a. OneGet) is a n…
2.2.5     PowerShellGet                       PSGallery    PowerShell module with commands for disc…
1.1.1     Microsoft.PowerShell.PSResourceGet  PSGallery    PowerShell module with commands for disc…

步驟 4:更新 NuGet 元件(如有需要)

PowerShellGet 指令要求更新後的 NuGet 提供者才能與 PowerShell Gallery 相容。 指令用於Publish-*nuget.exedotnet.exe發佈資源。 如果兩個工具都無法使用,PowerShellGet 會安裝 nuget.exe。 如果你還在執行 PowerShellGet 版本1.0.0.1,系統Find-Module會提示你安裝 NuGet 提供者。 輸入 Y 來安裝服務提供者。

NuGet provider is required to continue
PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet
-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageMan
agement\ProviderAssemblies' or 'C:\Users\user1\AppData\Local\PackageManagement\ProviderAs
semblies'. You can also install the NuGet provider by running 'Install-PackageProvider -N
ame NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install and imp
ort the NuGet provider now?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
VERBOSE: Installing NuGet provider.

當你回答 Y,PowerShellGet 會安裝 NuGet 提供者和 nuget.exe 命令列工具(如有需要)。

步驟 5:安裝最新版本

要安裝這些模組的最新版本,請執行以下操作:

Install-Module PowerShellGet -Repository PSGallery -Force -AllowClobber
Install-Module Microsoft.PowerShell.PSResourceGet -Repository PSGallery

備註

安裝 PowerShellGet 後,它會自動安裝最新版本的 PackageManagement