Windows 11 또는 Windows 10 PC에서 PowerShell 갤러리의 모듈을 Install-Module 또는 Update-Module 명령으로 설치하거나 업데이트하려고 할 때 'Install-Module(Update-Module) 명령이 PowerShellGet 모듈에서 발견되었지만 모듈을 로드할 수 없습니다'라는 오류 메시지가 표시된다면, 이 글에서 소개하는 해결 방법들을 순서대로 시도해 보시기 바랍니다.
PowerShellGet 모듈이란?
PowerShellGet 모듈은 모듈(Module), DSC 리소스, 역할 기능(Role Capabilities), 스크립트(Script) 등 다양한 PowerShell 아티팩트를 검색, 설치, 업데이트 및 게시하는 데 사용되는 명령어 집합입니다. 참고로 2020년 4월부터 PowerShell 갤러리는 더 이상 TLS(전송 계층 보안) 1.0 및 1.1 버전을 지원하지 않으므로, TLS 1.2 이상이 활성화되어 있어야 합니다.
이 문제가 발생하면 Install-Module 또는 Update-Module cmdlet 실행 시 다음과 같은 오류 메시지가 표시됩니다:
Install-Module: 'Install-Module' 명령이 'PowerShellGet' 모듈에서 발견되었지만 해당 모듈을 로드할 수 없습니다. 자세한 내용을 확인하려면 'Import-Module PowerShellGet'을 실행하세요.
안내에 따라 Import-Module PowerShellGet을 실행하면 이번에는 다음 오류 메시지 중 하나가 추가로 나타납니다:
Import-Module: 필요한 모듈 'PackageManagement'가 로드되지 않았습니다. 모듈을 로드하거나 파일의 'RequiredModules' 항목에서 해당 모듈을 제거하세요.
또는
Import-Module: 클라우드 파일 공급자가 실행 중이 아닙니다.
두 번째 오류 메시지는 OneDrive와 관련된 문제일 가능성이 높습니다.
'Install-Module 명령이 PowerShellGet 모듈에서 발견되었지만 로드할 수 없음' 오류 해결 방법
Windows 11/10 PC에서 위 오류가 발생했다면, 아래에서 소개하는 해결 방법들을 특별한 순서 없이 하나씩 적용해 보고 문제가 해결되는지 확인해 보세요.
- 실행 정책(Execution Policy)을 Unrestricted로 설정
- OneDrive 개인 계정 활성화(해당되는 경우)
- 다른 사용자 계정으로 로그인하거나 새 사용자 계정 생성
- Windows 11/10 초기화
본격적인 해결 방법을 시도하기 전에, 먼저 PowerShell이 최신 버전으로 업데이트되어 있는지, 그리고 PS 세션에서 TLS 1.2 이상이 기본 프로토콜로 설정되어 있는지 확인하세요. 그런 다음 관리자 권한 명령 프롬프트에서 아래 명령을 실행합니다:
powershell.exe -NoLogo -NoProfile -Command 'Install-Module -Name PackageManagement -Force -MinimumVersion 1.4.6 -Scope CurrentUser -AllowClobber'
명령 실행이 완료되면 PowerShell 모듈 설치 또는 업데이트 작업을 다시 시도하여 정상적으로 완료되는지 확인합니다.
1] 실행 정책을 Unrestricted로 설정
대부분의 사용자는 실행 정책(ExecutionPolicy)을 Unrestricted로 설정하는 것만으로도 이 오류를 해결했습니다. 실행 정책 변경 방법에 대한 자세한 내용은 'PowerShell에서 running scripts is disabled 오류 해결 방법' 관련 가이드를 참고하세요. 스크립트 실행이 차단되어 있으면 PowerShellGet 모듈 로드 자체가 실패할 수 있기 때문입니다.
2] OneDrive 개인 계정 활성화(해당되는 경우)
이 방법은 Update-Module cmdlet 실행 후 Import-Module PowerShellGet을 실행했을 때 '클라우드 파일 공급자가 실행 중이 아닙니다'라는 오류가 발생한 사용자에게 효과적이었습니다.
실제 사례를 살펴보면, 해당 사용자는 OneDrive 비즈니스 계정을 올바르게 설정하여 사용하고 있었지만, OneDrive 개인(Personal) 계정은 실행되고 있지 않았습니다. 문제는 개인 OneDrive의 PowerShell 폴더가 $env:PSModulePath 경로에 포함되어 있다는 점이었습니다.
이 경우 OneDrive 개인 계정을 다시 활성화하면 문제가 해결됩니다. 설정 방법은 'Windows 11/10에서 OneDrive가 시작 시 열리지 않는 문제 해결 방법' 가이드를 참고하세요.
3] 다른 사용자 계정으로 로그인하거나 새 사용자 계정 생성
PC에 여러 사용자 계정이 설정되어 있다면, 현재 사용 중인 계정에서 로그아웃한 후 다른 계정으로 로그인하여 PowerShell 모듈 설치 또는 업데이트 작업을 다시 실행해 보세요. 일부 사용자들은 이 방법으로 문제를 해결했다고 보고했습니다. 만약 PC에 다른 사용자 계정이 없다면 새 사용자 계정을 생성한 후 동일하게 시도해 볼 수 있습니다.
4] Windows 11/10 초기화
위의 모든 방법으로도 문제가 해결되지 않는다면, Windows 11/10 PC를 초기화하는 것을 고려해 볼 수 있습니다. 초기화를 진행할 때는 반드시 개인 파일 유지 옵션을 선택하세요. 초기화가 완료되면 Install-Module 또는 Update-Module을 다시 실행하여 문제없이 완료되는지 확인합니다. 그래도 실패한다면 앞서 소개한 해결 방법들을 다시 한번 시도해 보세요.
관련 글: PowerShell Get-Appxpackage가 작동하지 않거나 액세스 거부 오류가 발생하는 경우
PowerShellGet 모듈 설치 방법
Windows 11/10 시스템에 최신 버전의 PowerShellGet 모듈을 설치하려면 다음 단계를 따르세요:
- PS 세션에서 TLS 1.2를 기본 프로토콜로 설정합니다.
- PowerShellGet을 업데이트하기 전에 반드시 최신 NuGet 공급자를 먼저 설치합니다.
- PS 리포지토리가 등록되어 있지 않다면 먼저 등록합니다.
- PowerShellGet을 설치합니다.
PowerShellGet 모듈 업데이트 방법
PowerShellGet과 PackageManagement를 업데이트하려면 다음 명령어를 순서대로 실행합니다:
- Get-Module -ListAvailable PackageManagement, PowerShellGet
- Install-PackageProvider Nuget –Force
- Install-Module –Name PowerShellGet –Force
- Set-ExecutionPolicy RemoteSigned → Install-Module –Name PowerShellGet –Force -AllowClobber
PowerShellGet 설치 여부 확인 방법
Windows 11/10 컴퓨터에 PowerShellGet이 설치되어 있는지 확인하려면 Get-Module -ListAvailable PowerShellGet 명령을 실행하세요. PowerShell 세션에서 Save-Module cmdlet을 사용하면 현재 버전의 PowerShellGet을 다운로드할 수 있습니다. 이때 두 개의 폴더(PowerShellGet과 PackageManagement)가 다운로드되며, 각 폴더 안에는 버전 번호가 포함된 하위 폴더가 존재합니다.