상세 컨텐츠

본문 제목

[PowerShell] yarn : 이 시스템에서 스크립트를 실행할 수 없으므로...

Programming/기타

by 겨리! 2022. 8. 28. 17:25

본문

 

yarn 혹은 npm 으로 서버 실행 명령어 입력시 종종 나타나는 오류.

사실 vue를 처음 썼을 때도 마주했던 오류로 powerShell이 아닌 cmd 로 터미널을 열면 오류가 안 나길래 그냥 사용 했었다.

오늘도 리액트 책 보면서 실습하다가 나타나서 처음엔 경로 문제인가 하고 보다가(그새 까먹음ㅋㅋㅋㅋ ㅜㅜ) 검색해보고 이제야 원인을 제대로 알게되었다!

 

오류 내용은 캡처에 나온대로 

yarn: 이 시스템에서 스크립트를 실행할 수 없으므로 C:\...yarn.ps1 파일을 로드할  수 없습니다. 자세한 내용은...  로 

PowerShell은 기본적으로 권한을 'Restricted' 로 부여하는데 이는 ps1 확장자 파일을 실행하지 못하도록 하기 때문에 해당 오류가 나는 것이다.

간단히 말해 권한이 없는 상태에서 명령어를 수행하려고 하니 나타나는 오류이다. 

 

검색해보니 Window10 부터는 Windows PowerShell을 이용하면 스크립트 실행권한을 변경할 수 있다고 한다.

 

권한 상태 확인하기

get-ExecutionPolicy 명령어 입력

권한 상태 확인 명령어를 입력하니 Restricted 라고 나온다.

 

해결방법 

권한 상태를 'RemoteSigned' 로 변경하면 된다.

Windos PowerShll에 Set-ExecutionPolicy RemoteSigned 을 입력하면 변경하겠냐고 묻는 문구가 뜨는데 Y를 입력하면 변경된다.

 

권한 상태 종류 

권한 상태 설명
Restricted (제한된) PowerShell의 실행 권한 정책 기본 옵션. 명령어 하나씩 실행 가능. .ps1가 확장자인 스크립트 파일을 로드하여 실행할 수 없다.
AllSigned 오직 신뢰된 배포자에 의해 서명된 스크립트만 실행할 수 있다.
RemoteSigned 로컬 컴퓨터에서 본인이 생성한 스크립트만 실행 가능. 인터넷에서 다운로드 받은 스크립트는 신뢰된 배포자에 의해 서명된 것만 실행할 수 있다.
Unrestricted (무제한) 제한없이 모든 스크립트를 실행할 수 있다.
ByPass 어떻 것도 차단하지 않고 경고 없이 실행이 가능하다.
Undefined 정책을 적용하지 않음. 기본 실행 권한 정책이 적용된다(Restricted)

 

 

 

 

관련글 더보기

댓글 영역