윈도우10에서 yarn을 이용하기 위해 npm을 통해 yarn을 설치하고 이용하기 우해 yarn 명령어를 실행하였는데 다음과 같은 오류가 뜨면서 사용할 수 없었다.
yarn : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\[사용자명]\AppData\Roaming\npm\yarn.ps1 파일을 로드할 수 없습니다
. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.
위치 줄:1 문자:1
+ yarn -v
+ ~~~~
+ CategoryInfo : 보안 오류: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
이 오류는 스크립트 실행 정책 때문에 스크립트를 실행할 수 없어 발생하는 오류이다.
PSSecurityException을 해결하기 위해서는 다음과 같은 작업을 해주면 해결할 수 있다.
1. 관리자 권한으로 PowerShell 혹은 Windows Terminal을 실행한다.
2. 권한 해결을 위해 다음 명령어를 입력하여 실행한다.
Set-ExecutionPolicy RemoteSigned
<!-- 또는 -->
Set-ExecutionPolicy Unrestricted
3. 다시 yarn 명령어를 실행시키면 이상 없이 돌아가는 것을 볼 수 있다.
PSSecurityException은 정책이 Restricted로 되어있어 발생하는데 권한을 확인하고 싶으면
ExecutionPolicy
명령어를 실행하면 권한을 확인할 수 있다.
위 명령어를 실행했을 때 Restricted로 되어있으면 yarn 명령어를 실행할 때 보안 오류가 발생하고 이를 해결하기 위하여 정책을 RemoteSigned 또는 Unrestricted 로 설정해 주는 것이다.
RemoteSigned와 Unrestricted의 차이는 다음과 같다.
- RemoteSigned: 해당 로컬 컴퓨터에서 작성된 모든 스크립트는 실행이 가능하며, 인터넷에서 다운로드한 스크립트는 인증기관이 발행한 코드로 서명되어야만 실행이 가능하다.
- Unrestricted: 서명되지 않은 스크립트를 포함하여 모든 스크립트를 실행할 수 있다. 악성코드를 실행시킬 수도 있기 때문에 권장하지 않는 옵션이다.