갑자기 발생한 실행 에러
VSCode에서 즐겁게(?) 코딩을 하던 중 급작스럽게 발생한 에러를 대처하기 위해 고군분투한 과정을 공유해보려고 합니다.
pm2라는 NodeJS의 프로세스 매니저를 사용하던 중 아래와 같은 에러가 발생하면서 서버 테스트를 할 수 없었습니다.
이는 스크립트 권한이 제한되어있는 상태이기 때문에 pm2 명령어가 작동하지 않는다는 것으로써 권한을 변경하기 위해서는 PowerShell을 관리자 권한으로 실행하여 변경해주어야 합니다.
- Windows PowerShell을 관리자 권한으로 실행합니다.
- get-help Set-ExecutionPolicy로 어떤 권한을 설정할 수 있는지 확인합니다.
* 정책 종류
정책명 | 설명 |
AllSigned | 로컬 시스템에 작성된 스크립트를 포함하여 신뢰할 수 있는 게시자가 모든 스크립트 및 구성 파일을 서명하여야 합니다. |
Bypass | 아무것도 차단되지 않으며, 경고나 프롬프트도 표시되지 않습니다. |
Default | 기본 정책을 실행하며, 윈도우 클라이언트나 원격 서명된 윈도우 서버용으로 제한됩니다. |
RemoteSigned | 윈도우 서버 컴퓨터의 기본 정책으로 신뢰할 수 있는 게시자가 인터넷에서 다운로드한 구성파일과 모든 스크립트를 서명해야합니다. |
Restricted | 클라이언트 컴퓨터(일반 윈도우)에서 기본적으로 적용되는 정책입니다. 구성 파일이나 스크립트를 불러올 수 없습니다. |
Undefined | 범위에 대대 설정된 정책이 없습니다. 그룹 정책에서 설정하지 않은 범위에서 할당된 실행 정책을 제거합니다. 모든 범위의 실행 정책이 정의되지 않을 경우, 유효한 실행 정책은 제한적입니다. |
Unrestricted | 파워쉘 6.0부터는 윈도우즈 이외 시스템의 기본 정책으로 변경이 불가능합니다. 모든 구성파일 및 스크립트를 실행하며, 서명되지 않은 스크립트를 인터넷에서 다운받을 경우, 실행 전 사용군한을 묻는 메세지가 표시됩니다. |
- RemoteSigned로 정책을 변경합니다.
정책을 변경한 후 VSCode로 다시 돌아가서 pm2 명령어를 실행해보겠습니다.
마치며
이번 글에서는 정책을 변경하여 VSCode 내 터미널에서 문제없이 pm2 명령어를 실행하는 방법에 대해 알아보았습니다. 이 글이 pm2를 사용하다가 이와 같은 오류를 미연에 방지하는 데 조금이나마 도움이 되었으면 합니다.
'기술 > 국문' 카테고리의 다른 글
Github Action으로 EC2 배포 시 tcp connection refused 해결방법 (0) | 2022.09.14 |
---|---|
자기참조관계가 뭐지? (0) | 2021.06.30 |