맥에서 NVM 을 설치할 수 있는 두가지 방법이 있다.
homebrew 를 이용하는 방법 ( homebrew 가 미리 설치되어있어야함 )git clone 하는 방법 ( git 이 설치되어있어야함 )
먼저 homebrew 를 이용하는 방법
brew install nvm
brew 로 설치가 완료되면 마지막 로그에 어떻게 해야하는지 요약되서 나온다.
위에서는 홈경로에 .nvm 디렉토리를 생성하고, ~/.zshrc 에 export 내용을 붙여넣으라고 한다.
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
이 후 터미널에서 위에서 입력한 내용 바로 반영하기 위해(터미널 재접속하셔도됩니다!)
source ~/.zshrc
정상적으로 설치되었는지 확인한다.
git으로 clone 하는 방법
cd ~/
git clone https://github.com/nvm-sh/nvm.git .nvm
cd .nvm
git checkout v0.39.0
git 으로 nvm 레파지토리에서 clone 받은 뒤 최신버전 브랜치로 checkout을 하는 개념이라고 생각하면 된다.
git 으로 clone 받았다면 아까 위에서 작업했던 ~/.zshrc 에 NVM_DIR 이 약간 변경된다.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
source ~/.zshrc
이렇게 하면 NVM 설치는 간단하게 끝난다.
더 자세한 내용은 NVM 깃허브 저장소에 자세히 설명되어있으니 참고바랍니다.
https://github.com/nvm-sh/nvm/blob/master/README.md
근데 회사에서는 맥북프로(인텔)로 NVM 으로 Node 를 설치할 때 전혀 문제가 없었는데, 이번에 집에 맥미니 M1 을 구매하여 개발환경을 셋팅하던 중 NVM 으로 Node ( <= v14 ) 를 설치할 때의 이슈가 있다는 것을 알았다. 가장 최근의 Node 버전(16) 은 무리없이 설치되는데, Node v10, v12, v14 와 같은 이 전 버전들은 정상적으로 설치가 안되더라..
위와 같이 무한 메세지가 출력되거나, 혹은 마지막에 에러를 뱉는다.
아직까지 Node 는 v15 이상부터 M1 에문제없이 설치할 수 있나보다.
그래서 나는 여러 방법은 고민한 끝에 맥린이도 할 수 있는 가장 간단한 방법을 소개하고자한다.
일단 터미널에서 다음과 같은 명령어를 통해 하드웨어 이름을 알아낸다.
위에서 나오는 명령어가 arm64 로 나온다면 Node 15 이상부터 설치가 된다고 보면 된다.
해당 터미널은 x64 모드에서 실행시키기 위해서 구글에 많은 정보들이 있다.
arch -x86_64 zsh
내 맥에서는 작동을 안했다.
그래서 나는 다른 방법을 이용했다.
일단 Finder 를 통해 응용프로그램으로 이동한 뒤 자신이 사용하는 터미널을복제한다.이 후 해당 파일을 마우스로 우클릭하여 정보 가져오기를 클릭한다.이 후 나오는 정보에서 'Rosetta를 사용하여 열기' 를 체크한다.복사복을 실행시킨 뒤 해당 명령어를 통해 하드웨어이름을 확인한다.정상적으로 x64 모드에서 터미널이 실행되었다면 이제 NVM 을 통해 다른 Node 버전을 설치를 진행한다.nvm ls # 설치된 노드버전 목록 확인 nvm install [version] # 특정 노드 버전 설치 nvm uninstall [version] # 설치되어있는 노드 버전 삭제 nvm use [version] # 선택한 버전의 노드를 사용
설치 완료 후 원래 터미널(amd64) 로 이동하여 확인한다.
위 처럼 진행하면 이 전 버전의 Node 도 사용할 수 있다.
구버전의 Node를 사용하는 프로젝트가 모두 사라지는 것보단 Node 에서 하루빨리 Mac M1(Apple Silicon) 을 구버전의 Node 에서도 이상없이 설치될 수 있도록 지원하기를 바란다..!
잘못된 부분이 있거나, 궁금한 사항이 있으면 댓글 부탁드립니다..!!!
이제 NVM 에서 node 14 이하 버전이 m1(apple silicon) 에서도 이상없이 설치됩니다~