본문 바로가기
java

버전 매니저 asdf 설치 & jdk 설치

by WhoamixZerOne 2025. 1. 2.

https://asdf-vm.com/ko-kr/

 

Mac OS 환경에서 진행한 내용입니다.

 

"asdf"는 다중 런타임 버전 매니저로 한 가지 툴로 모든 런타임 버전들을 관리할 수 있다.

 

asdf를 사용하기 전에는 Java, NodeJS, Python을 사용하기 위해서 sdkman, nvm, pyenv를 각각 설치해서 각자 관리를 했었다.

그래서 툴에 대한 명령어가 다르기 때문에 사용하기가 꽤나 불편했었다.

 

그러다가 한 가지 툴로 관리할 수 있는 "asdf"를 알게 돼서 이 글을 작성한다.

설치하는 방법도 간단하고 사용 방법도 어렵지 않다.

 

Windows11에서도 설치를 했었는데 wsl를 설치하고 Ubuntu에 asdf를 설치하면 되는데 Intellij에서 Project Structure > Platform Settings > SDKs에서 추가를 해줬는데, Project Structure > Project Settings > Project > SDK 선택하는 부분에서 asdf로 설치한 jdk를 찾지 못해서 선택이 안 됐다. 안 되는 이유를 찾지 못해서 Windows에서는 포기했다.

만약 Windows에서 하는 방법을 아시는 분이 있다면 알려주시면 감사하겠습니다!

 

asdf 설치는 다음과 같습니다.

  1. dependencies 설치
  2. asdf 코어 다운로드
  3. asdf 설치
  4. 관리하고 싶은 각각의 툴/런타임 플러그인 설치
  5. 툴/런타임 버전 설치
  6. .tool-versions 설정 파일들을 통해 글로벌 혹은 프로젝트 버전들 설정

 

1. Dependencies 설치

asdf는 git & curl이 필요하다. brew를 통해서 설치해 준다.

brew install coreutils curl git

 

2. asdf 다운로드

공식다운로드 방법은 git으로 repository를 다운로드하거나 brew로 할 수 있는데 공식 git 방식을 사용할 것을 적극적으로 권장한다고 한다.

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.15.0

 

3. asdf 설치

설정에 영향을 미치는 다양한 셸, 운영체제들 & 설치방법의 조합들이 있는데 그중에 zsh 터미널을 사용하고 있기에 ZSH & Git 방법으로 설치했다.

아래의 내용을 ~/.zshrc 맨 아래에 추가한다.

. "$HOME/.asdf/asdf.sh"

 

asdf를 사용할 때 자동완성을 위해서 아래의 내용을 ~/.zshrc 맨 아래에 추가한다.

# append completions to fpath
fpath=(${ASDF_DIR}/completions $fpath)
# initialise completions with ZSH's compinit
autoload -Uz compinit && compinit

 

설치가 끝났다.

ZSH 설정을 적용시켜 주기 위해 아래의 명령어를 실행하고 asdf가 제대로 설치됐는지 확인해 본다.

source ~/.zshrc
asdf --version
// v0.15.0-31e8c93

 

4. 플러그인 설치

아래의 명령어를 통해 전체 플러그인을 조회할 수 있다.

asdf plugin list all

 

Java jdk를 설치하기 위해 플러그인을 추가해 준다.

asdf plugin add java

 

5. 버전 설치

아래의 명령어를 통해 설치할 수 있는 전체 버전을 확인할 수 있다.

asdf list all java

 혹은 특정 내용만 확인할 수도 있다. 다음 명령어를 하면 zulu 벤더사의 17 버전만 모두 확인할 수 있다.

asdf list all java zulu-17

 

 

목록 중에 zulu-17.54.21 버전을 설치하였다.

asdf install java zulu-17.54.21
// 최신 버전 설치
// asdf install java latest

 

6. 버전 설정

asdf는 현재 작업 디렉터리부터 $HOME 디렉터리까지 모든 .tool-versions 파일들에서 버전 검색을 수행한다.

글로벌 기본값들은 $HOME/.tool-versions에서 관리된다. 다음 명령어를 통해 글로벌 버전을 설정할 수 있다.

asdf global java zulu-17.54.21

 

로컬 버전들은 (현재 작업 디렉터리) $PWD/.tool-versions 파일에 정의되어 있다. 툴 버전을 설정하고 싶은 디렉터리에서 다음을 실행시키면 된다.

asdf local java zulu-17.54.21

잘 적용이 됐는지 아래 명령어를 실행해 본다.

asdf current
// java zulu-17.54.21 /Users/계정/.tool-versions 정상 적용 내용

 

 

 

🔗 Reference

'java' 카테고리의 다른 글

자바 정리 (4)  (4) 2024.02.28
자바 정리 (3)  (0) 2024.02.19
자바 정리 (2)  (1) 2024.02.06
자바 정리 (1)  (0) 2024.01.22
Java 버전 관리 도구  (0) 2023.11.18