본문 바로가기
개발 기초 다지기

npm 글로벌 설치 오류

by 너의고래 2024. 6. 24.
반응형

이번에 TypeScript를 배우기 시작하면서 TypeScript를 글로벌로 설치해야했다. 그리고 역시나 오류가 났다. 이놈의 맥북은 뭐가 한 번에 깔리는 일이 없다. 이번 기회에 매번 겪은 npm을 통해 global로 설치를 진행할 때 나타난 오류에대해 정리해보려 한다.

npm i typescript -g 오류

애초에 첫 접근부터 바로 오류가 나버렸다. npm이 글로벌하게 설치하려는 TypeScript 패키지를 저장할 디렉토리에 대한 권한 부족으로 발생했는데, macOS나 Linux 시스템에서는 시스템 레벨의 디렉토리에 npm 패키지를 글로벌하게 설치하려면 관리자 권한이 필요하다고 한다.

해결 방법

- npm의 글로벌 설치 경로 변경

권한이 부족했기 때문에, npm의 글로벌 설치 경로를 사용자 홈 디렉토리 내의 .npm-packages와 같은 사용자 권한이 있는 경로로 변경하는 방법을 사용했다.

npm config set prefix ~/.npm-packages

그리고 다시 설치를 시도했다.

npm install -g typescript

- 또 다시 오류

설치가 됐다고 생각하고, tsc 명령어를 실행하려하는데 또 다시 뜨는 오류...

 

확인해보니 권한이 필요한 곳까지만 통과를하고, 그 다음으론 오류가 나있었다.

또 다시 해결을 위한 여정을 떠났다.

 

해결 방법

- PATH 환경 변수 설정 확인

npm이 글로벌로 설치한 패키지들의 실행 파일이 포함된 경로가 시스템의 PATH 환경 변수에 포함되어 있는지 확인해야 한다. ~/.npm-packages/bin 경로를 PATH에 추가해야 했다.

아래 명령어를 실행하여 npm 패키지 경로를 PATH에 추가했다.

export PATH="$PATH:$HOME/.npm-packages/bin"

 

추가해준 후, tsc를 실행하니 잘 실행되었다. 

tsc --version 명령어 실행

 

- 왜 PATH 설정이 필요할까?

일반적으로 npm을 통해 글로벌로 패키지를 설치할 때, npm은 해당 패키지의 실행 파일을 시스템의 PATH 환경 변수에 추가하지 않는다고 한다. 따라서 터미널이 해당 경로를 인식하지 못해 실행할 수 없는 상황이 발생한다는데, 이를 해결하기 위해 PATH에 설치된 패키지의 실행 경로를 추가해야 한다.

 

 

 

지금 적은 것처럼 아직 직접 코드를 치는 것 외적인 부분이 어렵게 느껴진다. 경로 설정부터 키설정과 같은 환경 전반적인 것들에 대한 이해가 부족하다. 아직 많이 어렵지만 이렇게 하나둘씩 정리해나가다보면 익숙해지길 바란다.

반응형

댓글