레이블이 mcp인 게시물을 표시합니다. 모든 게시물 표시
레이블이 mcp인 게시물을 표시합니다. 모든 게시물 표시
Windows에서 npm 실행 정책 오류 해결하기

Windows에서 npm 실행 정책 오류 해결하기

Node.js는 설치했지만 npm 명령어를 실행할 때 PowerShell 실행 정책 오류가 발생하는 경우가 있습니다. 이는 Windows의 보안 정책 때문인데, 간단한 설정 변경으로 해결할 수 있습니다.

🚨 문제 상황

Node.js가 정상적으로 설치되었지만 npm 명령어 실행 시 다음과 같은 오류가 발생합니다.

오류 메시지:
npm : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Program Files\nodejs\npm.ps1 파일을 로드할 수 없습니다.
+ CategoryInfo : 보안 오류: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

💡 원인 분석

이 문제는 PowerShell의 실행 정책(Execution Policy) 때문에 발생합니다. Windows는 보안을 위해 기본적으로 모든 스크립트 실행을 차단하는 "Restricted" 정책을 사용하는데, npm은 실제로 PowerShell 스크립트로 구현되어 있어 이 정책에 막히는 것입니다.

🔧 해결 방법

1현재 실행 정책 확인

먼저 현재 시스템의 실행 정책을 확인해보겠습니다.

Get-ExecutionPolicy

대부분 "Restricted"로 표시될 것입니다.

2PowerShell 관리자 권한으로 실행

시작 메뉴에서 "PowerShell"을 검색하고 우클릭하여 "관리자 권한으로 실행"을 선택합니다.

3실행 정책 변경 (권장 방법)

사용자 수준에서만 정책 변경:
이 방법은 현재 사용자에게만 적용되어 시스템 전체 보안에 영향을 주지 않습니다.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

확인 메시지가 나타나면 Y를 입력하여 변경을 승인합니다.

4npm 동작 확인

이제 npm이 정상적으로 작동하는지 확인해보겠습니다.

npm --version

5MCP 설치 진행

문제가 해결되었다면 원래 목표였던 MCP를 설치할 수 있습니다.

npm install -g @modelcontextprotocol/cli

🛡️ 보안 고려사항

RemoteSigned 정책이란?
로컬에서 작성된 스크립트는 실행을 허용하되, 인터넷에서 다운로드된 스크립트는 디지털 서명이 있을 때만 실행을 허용하는 균형잡힌 보안 정책입니다.

🔄 대안 방법들

임시 해결책

현재 PowerShell 세션에서만 임시로 정책을 변경하려면 다음 명령어를 사용하세요.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process

명령 프롬프트(cmd) 사용

PowerShell 대신 전통적인 명령 프롬프트를 사용하는 방법도 있습니다. cmd는 PowerShell의 실행 정책 제약을 받지 않기 때문에 npm이 정상적으로 작동합니다.

🎯 결론

Windows에서 npm 실행 정책 오류는 매우 흔한 문제이지만, PowerShell의 실행 정책을 적절히 조정하면 쉽게 해결할 수 있습니다. 사용자 수준에서만 정책을 변경하는 것이 보안과 편의성의 균형을 맞추는 가장 좋은 방법입니다.

핵심 포인트: RemoteSigned 정책으로 변경하여 npm과 같은 합법적인 도구는 사용할 수 있게 하되, 의심스러운 스크립트는 여전히 차단하는 것이 중요합니다.