npm install -g로 도구를 깔았다. 초록 글씨로 설치됐다고 나왔다. 그런데 막상 실행하면 이렇게 나온다.
'도구이름'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램,
또는 배치 파일이 아닙니다.
설치는 됐는데 시스템이 모른다고 한다. 철자를 다시 확인하고 재설치를 해봐도 똑같다.
철자 문제가 아니다. 파일은 깔려 있고, 윈도우가 그 파일이 어디 있는지 모르는 것뿐이다.
왜 이런가
npm install -g의 -g는 전역 설치라는 뜻이다. 프로젝트 폴더가 아니라 정해진 공용 폴더에 넣는다.
명령어를 치면 윈도우는 아무 데나 뒤지지 않는다. PATH라는 목록에 적힌 폴더만 순서대로 본다. npm의 공용 폴더가 그 목록에 없으면 파일이 있어도 못 찾는다.
1. 어디에 깔렸는지 확인
npm config get prefix
경로가 하나 나온다. 윈도우는 보통 사용자 폴더 아래 AppData\Roaming\npm이다.
실제로 파일이 있는지도 본다.
dir %APPDATA%\npm
여기에 도구 이름이 보이면 설치는 제대로 된 것이다. 남은 건 PATH뿐이다.
2. PATH에 넣기
시작 메뉴에서 "환경 변수"를 검색하면 시스템 환경 변수 편집이 나온다.
- 아래쪽 환경 변수 버튼
- 위쪽 사용자 변수 목록에서
Path를 고르고 편집 - 새로 만들기를 누르고 위에서 확인한 경로를 붙여넣는다
- 확인을 세 번 눌러 창을 전부 닫는다
여기서 사용자 변수에 넣는 걸 권한다. 아래쪽 시스템 변수에 넣으면 컴퓨터 전체에 적용되지만 관리자 권한이 필요하고, 실수하면 영향이 크다.
3. 새 터미널을 열어야 한다
여기서 제일 많이 막힌다.
PATH를 고쳐도 이미 열려 있는 터미널에는 적용되지 않는다. 터미널은 시작할 때 PATH를 한 번 읽고 그 값을 계속 쓴다.
창을 완전히 닫고 새로 열어야 한다. 그래도 안 되면 로그아웃 후 다시 로그인하거나 재부팅한다. 설정은 제대로 했는데 안 된다며 몇 번이나 다시 고치는 경우가 많은데, 대개 이것 때문이다.
확인은 이렇게 한다.
echo %PATH%
방금 넣은 경로가 보이면 된다. PowerShell이라면 $env:Path를 친다.
4. 그래도 안 될 때
PowerShell이 막는 경우. npm이 만드는 실행 파일 중에 .ps1 스크립트가 있는데, PowerShell의 기본 정책이 이걸 막는다. 이럴 때는 명령어가 없다는 게 아니라 실행할 수 없다는 다른 메시지가 나온다. 정책을 한 단계 풀면 된다.
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
현재 사용자에게만 적용되므로 시스템 전체를 건드리지 않는다.
명령 프롬프트에서 먼저 시험해본다. PowerShell에서 안 되고 cmd에서 되면 위의 정책 문제일 가능성이 크다. 어느 쪽이 문제인지 가르는 가장 빠른 방법이다.
설치 자체가 권한 때문에 실패한 경우. 설치 로그에 권한 관련 오류가 있었다면 애초에 파일이 안 깔렸을 수 있다. 2번에서 폴더를 봤을 때 비어 있다면 이 경우다. 관리자 권한 터미널에서 다시 설치한다.
5. 윈도우가 계속 말썽이면 WSL
윈도우에서 개발 도구를 굴리다 보면 경로, 권한, 줄바꿈 문자 같은 것들이 계속 걸린다. 그럴 때는 윈도우 안에 리눅스를 얹는 쪽이 결국 빠르다. WSL이다.
우리도 윈도우 PC에 명령줄 도구를 깔다 이 길로 갔다.

다만 준비가 하나 필요하다. WSL 2는 BIOS에서 가상화 기능이 켜져 있어야 한다. 메인보드마다 이름이 다른데, 인텔은 VT-x, AMD는 SVM Mode로 적혀 있다. 재부팅할 때 F2나 Del을 눌러 들어가서 켜면 된다.
그다음 관리자 권한 PowerShell에서 설치한다.
wsl.exe --install
WSL 안에서는 리눅스와 똑같이 동작한다. 대신 윈도우 쪽 npm과 WSL 쪽 npm은 별개다. 한쪽에 깐 것이 다른 쪽에서 안 보이는 게 정상이다. 이걸 모르면 또 한참 헤맨다.
맥이나 리눅스라면
같은 증상이지만 고치는 자리가 다르다. .zshrc 같은 설정 파일에 경로를 넣는다. 그쪽은 따로 적었다. 맥 환경변수 설정하는 법, zshrc에 넣었는데 안 먹을 때
정리
1. npm config get prefix로 어디 깔렸는지 본다
2. 그 폴더를 사용자 변수 Path에 추가한다
3. 터미널을 새로 연다. 열려 있던 창에는 적용 안 된다
4. PowerShell에서만 안 되면 실행 정책을 본다
5. 계속 말썽이면 WSL을 고려한다. BIOS 가상화가 먼저다
위 화면은 윈도우 PC에서 실제로 겪으며 찍은 것이다. 명령은 표준 절차를 정리한 것이다.

'기타팁 및 문제 해결' 카테고리의 다른 글
| 자동화 에이전트 조용한 실패, 외부 감시 스크립트로 해결 (0) | 2026.09.05 |
|---|---|
| 맥 환경변수 설정하는 법, zshrc에 넣었는데 안 먹을 때 (0) | 2026.09.03 |
| 맥에서 외장 SSD가 안 보일 때, 어디부터 봐야 하나 (0) | 2026.09.02 |
| YouTube 쇼츠 조회수 10배 상승, 제목 변경의 착각 (0) | 2026.08.30 |
| mp4 재생 안 될 때, 파일이 깨졌는지 1분 만에 확인하는 법 (0) | 2026.08.19 |