자바스크립트를 활성화 해주세요

p007 Install-Module이나 Nuget Provider설치가 안될 때

 ·  ☕ 2 min read

Install-Module 하다가 실패하는 경우가 있습니다. 조금은 오래된 버전의 윈도우즈에서 그렇습니다.

  • 관리자 모드로 바꾸어 실행해도 바뀌지 않습니다.

에러메시지

영어로 에러가 나는 경우는,

WARNING: Unable to download from URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409' to ''.
WARNING: Unable to download the list of available providers. Check your internet connection.
PackageManagement\Install-PackageProvider : No match was found for the specified search criteria for the provider 'NuGet'. The package provider requires 'PackageManagement' and 'Provider' tags. Please check if the specified package has the tags.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7405 char:21
+ ...     $null = PackageManagement\Install-PackageProvider -Name $script:N ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (Microsoft.Power...PackageProvider:InstallPackageProvider) [Install-PackageProvider], Exception
    + FullyQualifiedErrorId : NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider

일본어로는,

警告: URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409' から ''へダウンロードできません。
警告: 利用可能なプロバイダーの一覧をダウンロードできません。インターネット接続を確認してください。
PackageManagement\Install-PackageProvider : プロバイダー 'NuGet' について、指定された検索条件に一致するものが見つかりませんでした。パッケージ プロバイダーには 'PackageManagement' タグと 'Provider' タグが必要です。指定されたパッケージにこれらのタグがあるかどうかを確認してください。
発生場所 C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm
1:7405 文字:21
+ ...     $null = PackageManagement\Install-PackageProvider -Name $script:N ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (Microsoft.Power...PackageProvider:Ins
   tallPackageProvider) [Install-PackageProvider]、Exception
    + FullyQualifiedErrorId : NoMatchFoundForProvider,Microsoft.PowerShell.PackageMan
   agement.Cmdlets.InstallPackageProvider

아직 한국어로는 확인하지 못했습니다. 이유는 2020년이 된 지금, TLS1.1 프로토콜이 폐기되었기 때문에, 더이상 사용할 수 없게 되었기 때문입니다.

Protocol    Published    Status
--------    ---------    ------
SSL 2.0     1995         Deprecated in 2011
SSL 3.0     1996         Deprecated in 2015
TLS 1.0     1999         Deprecated in 2020
TLS 1.1     2006         Deprecated in 2020
TLS 1.2     2008 
TLS 1.3     2018

대응은? 새로운 버전의 TLS 프로토콜을 설치하는 것입니다.

PowerShell version 확인

PS C:\Users\Administrator> Get-Host | Select-Object Version

Version
-------
5.1.14393.3471

TLS protocols 확인

TLS(Transport Layer Security)

PS C:\Users\Administrator> [Net.ServicePointManager]::SecurityProtocol
Tls

TLS12 설치하기

1
2
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

첫번째 명령은 64비트 Strong Crytography 설치, 두번째 명령은 32비트 Strong Crytography 설치입니다.

강제로 지정하기

강제로 지정해서 사용하는 방법이 있습니다. 하지만 아마도, 새로운 세션에서는 매번 명령을 실행해 줘야 할 지도 모르겠습니다.

1
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
1
2
3
4
5
6
7
[PS] C:\>Install-Module PowershellGet -Force
 
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\PackageManagement\ProviderAssemblies' or
'C:\Users\administrator.EXOIP\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install
and import the NuGet provider now?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

어떻습니까. 잘 실행되었나요? get-packageprovider를 통해서 결과를 확인할 수 있습니다.

1
2
3
4
5
6
7
8
9
PS C:\Users\Administrator> get-packageprovider

Name                     Version          DynamicOptions
----                     -------          --------------
msi                      3.0.0.0          AdditionalArguments
msu                      3.0.0.0
NuGet                    2.8.5.208        Destination, ExcludeVersion, Scope, SkipD...
PowerShellGet            1.0.0.1          PackageManagementProvider, Type, Scope, A...
Programs                 3.0.0.0          IncludeWindowsInstaller, IncludeSystemCom...
공유하기

tkim
글쓴이
tkim
Software Engineer