Windows용 NVM `NVM_SYMLINK` 활성화 오류 해결 방법
Source: Dev.to
왜 이 오류가 발생하나요
Node.js를 공식 Windows 설치 프로그램으로 설치하면 다음 디렉터리가 생성됩니다:
C:\Program Files\nodejs
NVM for Windows는 이 경로를 심볼릭 링크(NVM_SYMLINK)로 사용하여 Node 버전을 동적으로 전환합니다. 해당 위치에 실제 디렉터리가 이미 존재하면 NVM이 이를 덮어쓸 수 없으며, 활성화에 실패합니다.
단계별 해결 방법 (보장된 방법)
단계 1: 모든 Node 관련 애플리케이션 종료
- 모든 터미널 창을 닫습니다.
- VS Code 또는 기타 IDE를 닫습니다.
- 실행 중인 Node.js 애플리케이션을 중지합니다.
파일 잠금 문제를 방지하기 위함입니다.
단계 2: 관리자 권한으로 명령 프롬프트 열기
- 시작을 누릅니다.
cmd를 입력합니다.- 오른쪽 클릭 → 관리자 권한으로 실행을 선택합니다.
Program Files를 수정하려면 관리자 권한이 필요합니다.
단계 3: 디렉터리 소유권 가져오기
TrustedInstaller 권한 때문에 삭제가 차단될 수 있습니다.
takeown /f "C:\Program Files\nodejs" /r /d y
그런 다음 전체 권한을 부여합니다:
icacls "C:\Program Files\nodejs" /grant %username%:F /t
단계 4: 실행 중인 Node 프로세스 종료
taskkill /f /im node.exe
taskkill /f /im npm.exe
단계 5: 기존 Node 디렉터리 삭제
rmdir /s /q "C:\Program Files\nodejs"
명령 옵션 설명
/s– 모든 하위 디렉터리와 파일을 삭제합니다./q– 확인 프롬프트를 표시하지 않습니다.
“액세스가 거부되었습니다”가 계속 나오나요?
관리자 권한 PowerShell을 열고 다음을 실행합니다:
Remove-Item "C:\Program Files\nodejs" -Recurse -Force
대체 방법 (파일이 잠긴 경우)
디렉터리가 여전히 삭제되지 않으면:
- 시스템을 재시작합니다.
- 어떤 애플리케이션도 열지 않습니다.
- 바로 관리자 권한 명령 프롬프트를 엽니다.
다시 실행합니다:
rmdir /s /q "C:\Program Files\nodejs"
대부분의 백그라운드 파일 잠금 문제를 해결할 수 있습니다.
NVM 다시 활성화
디렉터리를 제거한 후:
nvm on
그 다음 Node 버전을 설치하고 활성화합니다:
nvm install 18
nvm use 18
node -v
설치된 Node 버전이 표시될 것입니다.
NVM으로 마이그레이션할 때의 모범 사례
직접 Node를 설치한 상태에서 NVM으로 전환하려면:
- 먼저 제어판에서 Node.js를 제거합니다.
C:\Program Files\nodejs가 완전히 삭제되었는지 수동으로 확인합니다.- 그런 다음 NVM을 설치하고 설정합니다.
이렇게 하면 활성화 충돌을 완전히 방지할 수 있습니다.
마무리 생각
이 오류는 NVM이 심볼릭 링크에 의존하는데, Windows가 기존 물리적 디렉터리를 덮어쓰지 못하기 때문에 발생합니다. 위 단계들을 따르면 대부분의 Windows 환경에서 NVM_SYMLINK 활성화 오류를 완전히 해결할 수 있습니다.