react 등 평소 자바를 사용하지 않는 개발자가
react native를 시작 하면서, 자바를 설치하게 된다.
이때 M1 맥북 유저가 잘못된 자바를 설치 해버리면 성능을 손해볼 수 있다.
왜냐면, 기존 구글링 해서 나오는 글이나 문서를 보고 아직까지 아래와 같은 형태로 java를 설치 해버린다.
# 또 이대로 설치하면 안됩니다..ㅠㅠ
brew install --cask adaptopenjdk8
M1 맥에서도 이 명령어는 문제없이 실행 될 것이다.
다만, arm 용이 아니라서 해당 자바는 rosetta 에서 돌아가는 자바가 되버린다.
성능 저하가 많이 일어날 수 있단 뜻이 되기도 한다.
sdkman 을 이용한 설치
sdkman은 node에서 nvm 정도로 생각 해볼수 있을것 같다.
좀더 정확히는 리눅스 기반의 SDK들을 설치 및 관리 할 수 있는 툴이다.
sdkman 에 arm 용 자바가 올라 와 있어서, 해당 자바를 설치하여 사용하면 된다.
어짜피 자바를 잘모르지만, 필요에 의해 써야한다면 sdkman을 사용하는게 관리 측면에서도 좋다.
일단 설치전, 만약 brew 로 위 자바가 설치되어 있다면 삭제 해주고, sdkman을 설치해준다.
brew uninstall adoptopenjdk8
curl -s "https://get.sdkman.io" | bash
만약 .zshrc 같은걸 적용 중 이라면, 자동으로 관련된 명령어 들이 .zshrc에 들어간다.
설치가 끝나고 sdkman-init.sh 을 실행하길 요청하는데, 진행 해준다
그럼, sdkman 을 이용하여 다양한 SDK들을 관리할 수 있는데,
jdk를 설치한다. 그중에서 arm 버전인 zulu jdk를 설치한다.
sdk install java 8.0.312-zulu
그럼 기본으로 사용하는 jdk가 세팅 되었다는 안내와 함께 사용 할 수 있다.
설치 후 확인 사항
만약 기존에 자바를 설치해 둔게 있다면, 충돌이나 겹치는 문제가 발생 할 수 있다.
해당부분은 아래의 명령어로 삭제 하고, 터미널을 재시작 해준다
rm -rf /Library/Java/JavaVirtualMachines/*
그리고, 내부에 사용중인 툴들 (예를들면 android studio..) 의 preference에서 JDK를 설치한 zulu로 변경해주면 된다.