NVM(Node Version Manager)
기업과제를 진행하다가 요구 사항에 node v14가 명시되어 있는 것을 발견했다. 그동안은 항상 최신 버전에 맞춰 프로젝트를 진행했다보니 다른 버전을 사용할 일이 없었지만 아무래도 서비스를 운영중인 회사에 들어가면 자주 마주치게 될 일일 것 같아 기록해놓는다.
공식 문서 링크
사실 위의 공식문서에 트러블슈팅까지 자세히 되있지만 인터넷 세상에 한글로된 문서가 더 많아져야한다고 생각한다!!
이 글은 Apple Silicon M1 Mac OS를 기준으로 작성되었습니다.
설치 방법
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
터미널에서 위 코드를 실행하면 된다!
* 맥에서 간단하게 설치하기 위해서는 zsh가 설치되어 있어야한다!
그러면 바로 shell script가 실행될 것이다. 그럼 끝이다! 아래의 코드가 .zshrc 파일에 입력되고 자동으로 실행된다.
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
만약 터미널에 'nvm --help'를 쳤을 때 찾을 수 없다고 나오면 터미널을 껐다 키거나 아래의 명령어로 ./zshrc 파일을 적용시켜준다.
source ~/.zshrc
사용 방법
보통 사용하게 될 코드는 아래 정도인 것 같다.
nvm install --lts [version] # 해당 [version] 안의 node를 LTS 버전으로 설치한다.
nvm use [version] # [version]의 node를 실행한다.(설치되어 있어야한다!)
nvm ls node # 현재 설치되어 있는 node를 보여준다.
nvm use system # 현재 System에 설치되어있는 node를 사용한다.
nvm uninstall [version] # 해당 node 버전을 삭제한다.
문제 발생...
사용중 작은 문제가 발생했다. 내가 사용해야할 node 버전은 14인데 nvm으로 14버전을 설치하려고 하니 무한 루프를 도는 것...
구글링을 해보니 바로 문제가 나왔다. node는 16버전부터 Apple Silicon을 지원했다..
https://devzilla.io/using-nodejs-14-with-mac-silicon-m1
위 글에도 해결법이 나와있지만 nvm 문서에도 해결법이 나와있었다. 역시 공식문서가 최고야
해결방법
사용하고 있는 터미널을 오른쪽 클릭해서 '정보 가져오기' 후 Rosetta로 열기를 체크할 수도 있지만 아래 방법을 더 추천한다(덜 귀찮다).
터미널을 열고 아래 코드를 실행하면 현재 실행 중인 터미널이 로제타 환경(Intel 맥)에서 실행된다.
arch -x86_64 zsh
그 후 원하는 node를 설치한다!
nvm install --lts v14
이제 터미널 환경을 다시 원래대로 돌려주면 된다.
$ exit
$ arch
arm64
위 처럼 'exit' 명령어 실행 후 'arch' 명령어를 입력했을 때 'arm64'가 잘 나오는지 확인하면 된다.
오픈소스와 공식문서는 사랑입니다...
'Dev > else' 카테고리의 다른 글
VSCode에서 Unity 유니티 자동완성 안 됨 문제 간단 해결! (0) | 2023.08.30 |
---|---|
제로베이스 프론트엔드 스쿨 4기 종강 후기(내돈내산!) (1) | 2023.01.31 |
부트캠프 Part1 과제 회고 - HTML/CSS (0) | 2022.09.12 |
제로베이스 프론트엔드 스쿨 8월 후기 (0) | 2022.08.27 |