[VSCode] "npm : 이 시스템에서 스크립트를 실행할 수 없으므로..." 오류 해결 방법
2024. 11. 14. 10:18ㆍ카테고리 없음
VScode 터미널에서 npm 사용시
PS D:\Develop\Workspace\202409\first-react-board\src\main\frontend> npm start
npm : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Program Files\nodejs\npm.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://
go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.
위의 오류가 발생할 경우 위의 경로(https://go.microsoft.com/fwlink/?LinkID=135170)를 검색한 결과로 아래와 같은 PowerShell 정책을 가지고 있다고 한다.
이러한 정책의 적용은 Windows 플랫폼에서만 발생합니다. PowerShell 실행 정책은 다음과 같습니다.
AllSigned
- 스크립트를 실행할 수 있습니다.
- 로컬 컴퓨터에서 작성하는 스크립트를 포함하여 신뢰할 수 있는 게시자가 모든 스크립트 및 구성 파일에 서명해야 합니다.
- 아직 신뢰할 수 있거나 신뢰할 수 없는 것으로 분류되지 않은 게시자의 스크립트를 실행하기 전에 메시지를 표시합니다.
- 서명되었지만 악의적인 스크립트가 실행될 위험이 있습니다.
Bypass
- 아무것도 차단되지 않으며 경고 또는 프롬프트가 없습니다.
- 이 실행 정책은 PowerShell 스크립트가 더 큰 애플리케이션에 기본 제공되는 구성 또는 PowerShell이 자체 보안 모델을 가진 프로그램의 기초가 되는 구성을 위해 설계되었습니다.
Default
- default 실행 정책을 설정합니다.
- Restricted Windows 클라이언트의 경우
- Windows 서버용 RemoteSigned .
RemoteSigned
- default Windows 서버 컴퓨터에 대한 실행 정책입니다.
- 스크립트를 실행할 수 있습니다.
- 전자 메일 및 인스턴트 메시징 프로그램을 포함하는 인터넷에서 다운로드되는 스크립트 및 구성 파일에 대해 신뢰할 수 있는 게시자의 디지털 서명이 필요합니다.
- 로컬 컴퓨터에 작성되고 인터넷에서 다운로드되지 않은 스크립트에는 디지털 서명이 필요하지 않습니다.
- cmdlet을 사용하는 등 스크립트가 차단 해제된 경우 인터넷에서 다운로드되고 서명되지 않은 스크립트를
Unblock-File
실행합니다. - 악의적일 수 있는 인터넷 및 서명된 스크립트 이외의 원본에서 서명되지 않은 스크립트를 실행할 위험이 있습니다.
Restricted
- default Windows 클라이언트 컴퓨터에 대한 실행 정책입니다.
- 개별 명령을 허용하지만 스크립트는 허용하지 않습니다.
- 서식 및 구성 파일(), 모듈 스크립트 파일() 및 PowerShell 프로필(
.ps1xml
.psm1
)을 비롯한 모든 스크립트 파일의 실행을 방지합니다.ps1
.
Undefined
- 현재 scope실행 정책 집합이 없습니다.
- 모든 범위 Undefined의 실행 정책이 있는 경우 유효한 실행 정책은 Restricted Windows 클라이언트 및 Windows Server용 RemoteSigned 에 대한 것입니다.
Unrestricted
- Windows가 default 아닌 컴퓨터에 대한 실행 정책이며 변경할 수 없습니다.
- 서명되지 않은 스크립트를 실행할 수 있습니다. 악의적인 스크립트를 실행할 위험이 있습니다.
- 로컬 인트라넷 영역이 아닌 스크립트 및 구성 파일을 실행하기 전에 사용자에게 경고합니다.
참고
UNC(유니버설 명명 규칙) 경로를 인터넷 경로와 구분하지 않는 시스템에서 UNC 경로로 식별되는 스크립트는 RemoteSigned 실행 정책을 사용하여 실행할 수 없습니다.
현재 정책 확인 방법
PowerShell을 관리자 모드로 실행 후 아래의 명령어를 실행한다.
PS C:\Users\AAAAA> get-ExecutionPolicy
Restricted
현재 정책이 " Restricted" 라는 것을 확인할 수 있다. 명령어를 허용하지 않는 정책이기 때문에 변경한다.
실행 정책 변경
PS C:\Users\AAAAA> Set-ExecutionPolicy RemoteSigned
위의 명령어를 실행 후 VBCode 터미널에서 실행하면 정상 동작한다.