Coding/Back - Node

node 버전관리(nvm, n)

꿀딴지- 2022. 9. 2. 16:15

node.js를 사용 시 버전별로 기능차이가 있기 때문에 로컬, 서버, 협업 등에서 동일한 노드 버전을 사용하는 것이 중요하다.

node 버전관리로 NVM을 많이 사용하는데 이보다 쉽고 간편하다는 tj/n 을 사용해 보려고 했으나...

이미 node설치 시에 nvm을 사용했었더랬다(너무 예전에 설치해서 잊어버렸음..) 

알아내기까지 또 한참을 헤맸으니 잊지않기 위해 짧게나마 기록해.

https://github.com/tj/n

 

 

tj/n 설치

$npm install -g n

설치는 되었는데 아무래도 n이 설치되는 위치가 이상해서 한참을 검색하고 찾아보았다.

$which n

/Users/jyoung/.nvm/versions/node/v16.14.2/bin/n

1. npm global으로 설치되는 모듈 경로 확인

$npm root -g
/Users/jyoung/.nvm/versions/node/v16.14.2/lib/node_modules

애초에 global로 설치되는 경로가 이상해서 (.nvm)이라니 마치 프로젝트 내 가상환경에 설치된것 같지 않은가..?

global이면 보통 user 하위 어딘가로 들어가야 할것 같은데..

 

2. .nvm의 정체 확인하기

https://jongmin92.github.io/2016/09/20/Node/nvm-(Node-Version-Manager)/ 

NVM을 사용하지 않고 설치한 Node는 /usr/local/bin/ 경로에 설치되지만 NVM을 사용하여 설치했을 경우에는 /User/kimjongmin/.nvm/versions/node/ 경로에 설치됩니다. NVM을 사용했을 경우 사용자의 종속되어 설치되기 때문에 npm을 통하여 모듈을 설치할 때도 기존과는 달리 -g 옵션을 주지 않아도 설치 가능합니다. (npm또한 Node와 같이 설치되기 때문에 Node 버전마다 다르게 설치됩니다.)

아..? 이미 nvm으로 node를 설치한 상태였던 것..

 

결론 : 이전부터 nvm으로 설치하고 사용하고 있었던 것 같아서 일단 버전관리가 중요하진 않기 떄문에 nvm사용으로 유지하기로 하고, 버전 변경이 빈번하고 절실해 졌을 떄 n을 사용해 보기로 했습니다.