클로트 MCP : Windows에서 npm 실행 정책 오류 해결하기

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과 같은 합법적인 도구는 사용할 수 있게 하되, 의심스러운 스크립트는 여전히 차단하는 것이 중요합니다.

0 Comments:

댓글 쓰기