VSCode Terminal에서 명령어를 쳤을 때 다음과 같이
'이 시스템에서 스크립트를 실행할 수 없으므로 .ps1 파일을 로드할 수 없습니다.'
라는 오류가 나는 경우에 대하여 알아보았습니다.
결론부터 말하면 정책문제 입니다.
해결을 위해 정책 권한을 수정하려면
Windows PowerShell 을 관리자권한으로 실행 후
Set-ExecutionPolicy RemoteSigned
를 실행 후 Y를 넣으면 끝 입니다.
위 명령어는 그럼 무엇일까요?
다시 Windows PowerShell 에서
get-help Set-ExecutionPolicy
를 넣어보면 각 정책에 대한 정보가 나오게 됩니다.
설정 가능한 정책들에 대하여 정리해 보았습니다.
- Restricted : PowerShell의 기본 설정값. ps1스크립트 파일을 로드하여 실행할 수 없는 정책
- AllSigned : 신뢰된 배포자에 의해 서명된 스크립트만 실행 할 수 있는 정책
- RemoteSigned : 로컬 컴퓨터에서 본인이 생성한 스크립트만 실행가능 또는 인터넷에서 다운받은 스크립트는 신뢰된 배포자에 의해 서명된 스크립트만 실행 가능한 정책
- Unrestricted : 제한없이 모든 스크립트 실행 가능한 정책
- ByPass : 어떤 차단도 하지 않고 경고 없는 정책
- Undefined:정책 적용 안함
위 정책 중 저의 경우 VSCode에서 터미널을 이용하기 위한 정책수정이므로 전 "RemoteSigned"로 변경하였고,
VSCode 재시작도 필요없이 바로 create-react-app 명령어가 정상 동작하는 것을 확인 할 수 있었습니다.