윈도우11 환경 VSCode에서 yarn과 gatsby를 설치 후 실행을 해보니 이 시스템에서 스크립트를 실행할 수 없으므로 ps1파일을 로드할 수 없다는 경고 문구가 나타난다. 간략한 설명을 보니 보안오류, 접근권한이 없다는 의미였다. 서드파티 프로그램에서 스크립트를 실행할 수 있도록 권한을 풀어주면 되는 간단한 문제다. 이 글에서는 보안상 그리고 접근 권한 없음으로 스크립트 실행 불가 오류가 떳을 때 해결하는 방법을 소개하도록 하겠다. 먼저 발생한 문제를 사례로 소개하고 이후 해결방법을 단계별로 설명하도록 하겠다.
보안 오류: (:) [], PSSecurityException, UnauthorizedAccess 오류 발생
yarn : 이 시스템에서 스크립트를 실행할 수 없으므로 C:UsersHangyeongAppDataRoamingnpmyarn.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.
PS E:bhangyeongc> yarn --version
yarn : 이 시스템에서 스크립트를 실행할 수 없으므로 C:UsersbhangyeongcAppDataRoamingnpmyarn.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.
위치 줄:1 문자:1
+ yarn --version
+ ~~~~
+ CategoryInfo : 보안 오류: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS E:bhangyeongc> gatsby --version
gatsby : 이 시스템에서 스크립트를 실행할 수 없으므로 C:UsersbhangyeongcAppDataRoamingnpmgatsby.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.
위치 줄:1 문자:1
+ gatsby --version
+ ~~~~~~
+ CategoryInfo : 보안 오류: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
보안 오류 해결 방법
1. 윈도우 파워쉘 관리자 모드로 실행
먼저 윈도우 파워쉘을 관리자 모드로 실행한다.
2. get-help Set-ExecutionPolicy
PS C:WINDOWSsystem32> get-help Set-ExecutionPolicy Update-Help를 실행하시겠습니까?
Update-Help cmdlet은 Windows PowerShell 모듈에 대한 최신 도움말 파일을 다운로드하여 컴퓨터에 설치합니다. Update-Help
cmdlet에 대한 자세한 내용은 https://go.microsoft.com/fwlink/?LinkId=210614를 참조하십시오.
[Y] 예(Y) [N] 아니요(N) [S] 일시 중단(S) [?] 도움말 (기본값은 "Y"): y
콘솔 입력 창에 get-help Set-ExecutionPolicy를 그대로 입력한다. update-help를 실행하겠냐는 물음에 y를 입력한다. 도움말 업데이트를 진행하는데 다소 시간이 걸린다. 완료될 때가지 기다린다.
3. Set-ExecutionPolicy RemoteSigned
PS C:WINDOWSsystem32> Set-ExecutionPolicy RemoteSigned
실행 규칙 변경
실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호합니다. 실행 정책을 변경하면 about_Execution_Policies 도움말
항목(https://go.microsoft.com/fwlink/?LinkID=135170)에 설명된 보안 위험에 노출될 수 있습니다. 실행 정책을
변경하시겠습니까?
[Y] 예(Y) [A] 모두 예(A) [N] 아니요(N) [L] 모두 아니요(L) [S] 일시 중단(S) [?] 도움말 (기본값은 "N"): y
2번 과정이 끝나면 이어서 콘솔창에 Set-ExecutionPolicy RemoteSigned를 입력한다. 실행 정책을 변경하겠냐는 물음에 y를 입력한다.
보안 오류 해결
이제 VSCode로 돌아가서 스크립트를 실행해 보자. 정상적으로 스크립트가 실행되는 것을 확인할 수 있다.
PS E:bhangeyongc> yarn --version
1.22.19
PS E:bhangyeongc> gatsby --version
╔════════════════════════════════════════════════════════════════════════╗
║ ║
║ Gatsby collects anonymous usage analytics ║
║ to help improve Gatsby for all users. ║
║ ║
║ If you'd like to opt-out, you can use `gatsby telemetry --disable` ║
║ To learn more, checkout https://gatsby.dev/telemetry ║
║ ║
╚════════════════════════════════════════════════════════════════════════╝
Gatsby CLI version: 4.24.0
완전 감사합니다 바로 해결했어용