1. NVM이란?
Node Version Manager
한 마디로 Node.js 의 버전을 관리하는 도구입니다.
이렇게만 들었을 땐 사실 잘 모르겠어요.
Node.js 의 버전을 굳이? 왜 관리해야 하는거죠?
1.1 NVM, 왜 사용해야 하나요?
협업을 할 때, 또는 다양한 프로젝트를 동시에 진행해야 할 때
다양한 라이브러리 / 프레임워크 / 개발툴의 버전 호환 문제를 겪어서요.
이럴 때 NVM 을 사용하면 아래와 같은 이점을 챙겨갈 수 있거든요.
- 컴퓨터에 다양한 버전의 Node.js 를 설치할 수 있게 해줌
- use 커맨드를 이용해 사용할 Node 버전으로 간단하게 스위칭할수 있게 해줌.
- 디폴트 버전을 설정하거나 / 설치한 버전들의 전체 리스트를 확인하거나 / 필요 없는 버전을 삭제하는 등등... 소위 버전 관리가 쉬워짐
루비의 rvm, rbenv나 파이썬의 pyenv도 같은 역할을 한다고 하네요.
2.설치를 했는데 nvm 커맨드가 실행이 안 돼요.
가이드대로 설치를 하고 나니 터미널에 이런 문구가 떴습니다.
npm ERR! peer dep missing: @expo/xdl@54.1.5, required by @expo/dev-tools@0.5.26
=> You currently have modules installed globally with `npm`. These will no
=> longer be linked to the active version of Node when you install a new node
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
=> override the binaries of modules installed with `nvm`:
/usr/local/lib
├── create-react-app@3.0.0
├── eslint@6.8.0
├── expo-cli@2.20.2
└── serve@11.1.0
=> If you wish to uninstall them at a later point (or re-install them under your
=> `nvm` Nodes), you can remove them from the system Node as follows:
$ nvm use system
$ npm uninstall -g a_module
=> Close and reopen your terminal to start using nvm or run the following to use it now:
윗부분에 뜬 npm Err! 의 경우...
제가 이미 node 를 설치해 여러 프로젝트를 진행한 바가 있기 때문에 발생한 에러입니다.
이미 npm (Node Package Manager) 을 사용해 전역으로 설치해둔 패키지들이 있는데,
nvm 을 사용하여 새로운 node 버전을 설치할 경우
그 패키지들과의 의존성이 깨진다는 이야기를 하고 있는 것 같아요.
그러니 애초부터 nvm 을 설치하고, 그 이후에 node 를 깔아서 버전관리를 하는 것이 좋겠죠?
이 문제는 다른 포스트에서 다루겠습니다.
'React' 카테고리의 다른 글
타입스크립트란? (0) | 2022.02.14 |
---|---|
bebl과 Webpack (0) | 2022.02.14 |
[개발상식] npm과 yarn (0) | 2022.02.14 |
npm과 npx 용어정리 및 차이점 (0) | 2022.02.14 |
[Node.js] 로컬 설치 vs 글로벌 설치 (0) | 2022.02.14 |