콘텐츠
VSCode 사용 중 “이 시스템에서 스크립트를 실행할 수 없으므로” 오류 발생
최근 윈도우 PC 를 포멧 했다. 포멧을 하고 나서 기존의 개발 프로젝트를 다시 불러와 npm 명령어를 사용하니 “이 시스템에서 스크립트를 실행할 수 없으므로…” 라는 오류 메세지가 발생 했다.
메세지를 확인하면 다음 URL 을 확인하라 되어 있다.
쉽게 말하자면 내 PC의 실행 정책이 스크립트를 사용 할 수 없는 상태라는 것인데 이를 PowerShell을 실행해 확인이 가능하다.
PowerShell 을 통해 정책(policy) 변경
PowerShell 은 윈도우 키를 누른 후 PowerShell 을 검색하면 실행 할 수 있다.
단, 정책 설정을 바꾸기 위해 반드시 ‘관리자 권한’ 으로 실행할 것.
해당 화면이 실행하면 다음과 같은 명령어로 정책을 확인 할 수 있다.
get-ExecutionPolicy
해당 명령어는 Policy 를 확인하는 명령어다.
지금 나의 경우 RemoteSigned 로 되어 있는데 변경한 정책이다. 원래는 Restricted 였다.
해당 내용은 아까 첨부한 링크를 통해 확인이 가능한데 Restricted 는 스크립트 실행이 불가 하여 아까와 같은 스크립트 실행 오류가 발생한 것이다.
RemoteSigned 는 Restricted 와 같이 기본적인 실행 정책인데 이 정책과 달리 스크립트 실행이 가능하다.
Set-ExecutionPolicy RemoteSigned
해당 명령어는 Policy 를 설정하는 명령어로 관리자 실행을 하지 않으면 오류가 발생 할 수 있다.
기존 Restricted 에서 RemoteSigned 로 변경 하였다.
해당 명령어 입력 후 출력 되는 메세지를 보고 Y를 눌러 진행하면 된다.
포스팅 정리
1. 문제 상황에 대한 정의
- 윈도우 PC 초기화 이후에 기존의 개발 프로젝트에서 npm 명령어 사용 시 “이 시스템에서 스크립트를 실행할 수 없으므로…”라는 오류가 발생하였음.
2. 원인 파악
- 윈도우의 PowerShell 실행 정책이 스크립트를 실행하지 못하게 설정되어 있었음이 원인임.
3. 해결책 제시
- PowerShell의 실행 정책을 변경하여 스크립트 실행을 허용하는 상태로 조정함.
4. 실행 정책 변경 절차
(i) PowerShell 실행 방법
- 윈도우 키를 누른 후 “PowerShell”을 검색하시오.
- 반드시 “관리자 권한”으로 PowerShell을 실행하시오.
(ii) 현재의 실행 정책 확인 절차
- 아래의 명령어를 입력하여 현재 설정된 실행 정책을 확인하시오.
get-ExecutionPolicy
(iii) 실행 정책 변경 절차
- RemoteSigned 정책은 스크립트 실행이 가능한 정책임. 이를 설정하기 위해 아래의 명령어를 입력하시오.
Set-ExecutionPolicy RemoteSigned
- 명령어 입력 후 나타나는 메시지에 따라 “Y”를 눌러 변경을 승인하시오.
주의사항: 관리자 권한을 부여하지 않고 해당 명령어를 실행하면 오류가 발생할 수 있으므로 반드시 관리자 권한으로 실행하시오.