asdf - 최종(?) 버전 관리자

5069 단어 tooling

소개



여러 버전의 Nodejs를 실행해야 했던 적이 있습니까? -당연하지, 바보! 이를 위해 nvm이 있습니다.

그렇다면 파이썬은 어떨까요? -예, pyenv을 사용합니다.

자바? -예. SDKman .

루비? - rvm .

티 먹스? -음...

정력? -근데 왜?!

다국어 소프트웨어 개발자(또는 가장하는 경우)라면 수많은 버전 관리자와 기억해야 할 다양한 명령 및 구문이 필요합니다.

모든 것을 처리할 수 있는 하나의 도구가 있다면 좋지 않을까요? 있습니다-asdf !

설치


asdf는 macOS와 Linux 모두에서 사용할 수 있습니다. 이 문서의 예제에서는 macOS를 사용합니다.

종속성


asdf에는 corutils , curlgit가 설치되어 있어야 합니다. Homebrew를 사용하여 설치할 수 있습니다.

brew install coreutils curl git

Homebrew와 함께 asdf 자체도 설치합니다.

brew install asdf

다음으로 asdf.sh.zshrc를 추가해야 합니다.

echo -e "\n. $(brew --prefix asdf)/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc

(oh-my-zsh을 사용하는 경우 plugin for asdf이 있습니다.)

이제 사용할 준비가 되었습니다!

asdf 시작하기


asdf 를 사용하기 위한 기본 원칙입니다. official documentation도 확인하십시오.

플러그인 및 버전 추가


asdf에는 다양한 언어 및 도구용 플러그인long list이 있습니다.

파이썬을 추가하려면 간단히 다음을 실행합니다.

asdf plugin add python
asdf는 이제 Python을 인식하며 여러 버전을 설치할 수 있습니다.

최신 것을 얻으려면 (내가 이것을 썼을 때 3.9.4):

asdf install python latest

특정 버전을 얻으려면:

asdf install python 3.8.7

버전 설정



이제 몇 가지 Python 버전이 설치되었으므로 기본 글로벌 버전을 설정해야 합니다.

asdf global python 3.9.4

또한 전역 버전을 python의 운영 체제 버전(asdf에서 관리하지 않음)으로 설정할 수 있습니다.

asdf global python system

현재 디렉터리(및 모든 하위 디렉터리)에서 사용할 버전을 설정하려면 다음을 실행합니다.

asdf local python 3.8.7

현재 쉘에 대한 특정 버전을 설정할 수도 있습니다.

asdf shell python 3.8.7

활성화된 버전을 찾는 것은 다음을 실행하는 것만큼 간단합니다.

asdf current


.tool-versions 파일



사용할 버전을 추적하기 위해 asdf.tool-versions 파일을 만듭니다. 전역 설정의 경우 $HOME/.tool-versions에 있고 로컬 버전의 경우 현재 디렉터리에 있습니다.

이것은 사용할 버전을 설명하는 텍스트 파일이며 다음과 같이 표시될 수 있습니다.

nodejs 16.0.0
python 3.9.4

여러 버전을 정의할 수도 있습니다.

python 3.9.4 3.8.7 system

다른 버전 관리자에서 가져오기



"나는 이미 nvmpyenv 를 사용하고 있으며 백만 개의 .nvmrc , .node-version.python-version 파일이 내 시스템 전체에 뿌려져 있습니다!"라고 말할 수 있습니다. asdf는 지시하면 이러한 파일을 활용할 수 있습니다.

다음 콘텐츠가 포함된 .asdfrc라는 파일을 홈 디렉토리에 생성해야 합니다.

legacy_version_file = yes


이렇게 하면 다른 버전 관리자가 사용하는 버전 파일을 읽을 수 있습니다.

결론



그게 전부입니다. cd 디렉토리에 넣고 asdf 해당 특정 프로젝트에 필요한 올바른 버전의 도구로 자동 전환하도록 하는 것은 매우 편리합니다.

또한 oh-my-zshpowerline10k 과 매우 잘 통합됩니다.



Jonathan Walter는 비디오 기술 및 미디어 배포를 전문으로 하는 유럽 최고의 독립 컨설팅 회사인 Eyevinn Tecnology의 미디어 컨설턴트입니다.

사진 제공: Scott Webb on Unsplash

좋은 웹페이지 즐겨찾기