PowerShell용 패키지 관리자를 설치하세요

PowerShell 6.0 이상을 사용 중이라면, 이미 PowerShellGet 과 PackageManagement 의 최신 버전이 설치되어 있을 것입니다. 최신 버전의 모듈을 사용하고 있는지 반드시 확인해야 합니다.

PowerShell 7.4 이상을 사용 중이라면 Microsoft.PowerShell.PSResourceGet 도 설치되어 있습니다. Microsoft.PowerShell.PSResourceGet 은 PowerShell용 새로운 패키지 관리 솔루션입니다. 이 모듈을 통해 PowerShellGet 과 PackageManagement를 더 이상 사용할 필요가 없습니다. 기존 PowerShellGet 및 PackageManagement 모듈들과 나란히 설치되어 있습니다.

Windows PowerShell은 PowerShellGet 및 PackageManagement 버전 1.0.0.1과 함께 제공됩니다. Windows PowerShell 5.1을 사용 중이라면 PowerShellGet과 PackageManagement의 최신 버전으로 업그레이드해야 합니다. PowerShellGet v1.x 모든 버전은 더 이상 지원되지 않습니다.

다음 지침을 따라 이 모듈들을 최신 버전으로 설치하거나 업데이트하세요.

1단계: TLS 1.2 활성화

PowerShell 갤러리에 접근하려면 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참조하세요.

2단계: 설치된 버전을 확인해

현재 설치된 모듈 버전을 확인하려면 다음 명령을 실행하세요:

$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 명령줄 도구를 설치하도록 하는 절차를 따라야 합니다. 다음 단계를 계속 진행합니다.

3단계: 업데이트 확인

PowerShell 갤러리에서 제공하는 모듈의 최신 버전을 확인하려면 다음 명령을 실행하세요:

$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 컴포넌트 업데이트

PowerShell 갤러리와 함께 작동하려면 PowerShellGet 명령어에 의해 업데이트된 NuGet 제공자가 필요합니다. 명령어는 Publish-* 리소스를 사용 nuget.exe 하거나 dotnet.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가 설치됩니다.