개발을 하다 보면 같은 언어를 여러 버전을 설치하고 같은 빌드 도구를 계속 설치하는 일이 빈번할 것이다.모든 프로젝트에서 같은 스택을 쓰면 그럴 일이 없겠지만 그것은 사실상 불가능(...)하기 때문에 이는 필연적이다.이 때 버전관리를 조금이라도 편안하게 해주는 간단한 프로그램이 있다.
조금 더 자세히...
SDKMAN!은 UNIX 시스템용 명령줄 인터페이스 도구이며 사용예시를 들자면 어떤 프로젝트에선 JDK 8을 이용하고 어떤 프로젝트에선 JDK 17을 이용할 때 명령어를 통하여 JAVA_HOME 환경변수들과 각종 설정을 쉽게 바꿀 수 있다.
또한, JDK 뿐 아니라 Go,Python이나 Maven,Gradle 같은 빌드 도구 관리도 가능하다.
사용법
Ubuntu와 JDK 기준으로 진행하겠다.
1. 설치 및 설치 확인
curl -s "https://get.sdkman.io" | bash
sdk version
2. JDK 설치 및 사용
sdk install java 11.0.10-open # JDK 11 버전 설치
sdk list # 설치된 도구 목록 확인
sdk use java 8.0.265-open # 버전 전환
이점..?
CLI 환경에서도 여러 버전의 도구를 설치하고 필요에 따라 쉽게 변환할 수 있다
복잡한 설치과정 없이 명령어로 도구를 설치하고 관리할 수 있다
한계
Windows에서 사용하는 것이 불가능하다
인텔리제이 등의 IDE에서 이미 SDK 버전 관리 기능을 지원한다
마무리
한계에서 언급한 문제들로 현대적인 개발에서는 굳이 SDKMAN!만을 사용해서 SDK 관리를 할 필요는 없을 것이다.그러나 GUI 사용이 어려운 환경에서는 여전히 뛰어난 도구이기 때문에 간단히 사용법만은 알아두고 가면 어떨까?