본문 바로가기
기타Tip

nodejs 설치 후 윈도우 powershell 에서 npm 이 안되는 문제

by 크라크라 2025. 2. 19.

 처음 웹, 앱 개발을 위해서 nodejs 환경 설정을 하게 되면 기본적으로 버전 확인을 하게 됩니다. 

특히 최신버전 기준으로는 vscode 를 많이 사용하실텐데요. 이 때, vscode 의 기본 윈도우 터미널은 예전에 주로 사용했던 cmd 가 아니라 powershell 입니다. 

 

프로젝트를 다운 받은 후, 빌드 환경을 구축하기 위해 npm install 을 실행했을 때 다음과 같은 오류가 보이는 경우가 있습니다. 

이 시스템에서 스크립트를 실행할 수 없으므로 C:\P은 about_Execution_Policies(https://grogram Files\nodejs\npm.ps1 파일을 로드할 수 없습니다.
 자
nkID=135170)를 참조하십시오.
위치 줄:1 문자:1
+ npm -v
+ ~~~
    + CategoryInfo          : 보안 오류: (:) [], PSSecurityException  
    + FullyQualifiedErrorId : UnauthorizedAccess

 

이 오류가 발생하는 원인은 최초 설정에서 powershell은 스크립트 설정을 막아두기 때문입니다. 

실제 저 파일의 위치를 찾아가보면, npm.cmd / npm.ps1 등의 스크립트 파일이 있습니다. cmd 는 그런 설정이 없기 때문에 cmd 에서는 정상적으로 npm 이 실행이 되지만, powershell 에서는 스크립트 파일을 실행하는 과정에서 보안설정이 체크되기 때문에 위와 같은 오류가 납니다.

 

해결 방법은 간단합니다. powershell에서 다음 명령어를 입력합니다. 

 Get-ExecutionPolicy

 

특별히 손대지 않았다면 기본 설정은 Restricted 입니다. 이 설정에서는 모든 스크립트가 실행이 불가합니다. 

또는 AllSigned 인 경우에도 실행이 불가능할 수 있습니다. 이 경우에는 신뢰할 수 있는 게시자로부터 만들어진 스크립트만 실행할 수 있습니다. 

 

이제 실행정책 설정을 변경해주면 됩니다.

간단하게 테스트를 위해서라면, Unrestricted 도 가능하지만 서버 기준 기본 권장 정책은 RemoteSigned, 일반컴퓨터는 Restricted 입니다. 

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

 

이 후에 다시 npm 명령어를 실행하면 정상 실행되는 것을 확인할 수 있습니다. 

 

 

 

 

댓글