Ubuntu 22.04에서 여러 프로그래밍 언어 런타임 버전을 관리하기 위해 asdf 설치하는 방법

소개

asdf는 여러 프로그래밍 언어의 다양한 실행 버전을 관리하기 위한 명령 줄 인터페이스 도구 또는 CLI 도구입니다. 이 도구는 모든 실행 버전을 하나의 구성 파일 아래로 통합하고, 플러그인 구조를 사용하여 모든 것을 하나의 도구로 관리합니다. 예를 들어, Node.js를 설치할 수 있지만, 각 플러그인은 공식적으로 또는 커뮤니티 기여자에 의해 유지보수되는 플러그인 저장소로 asdf를 중앙에서 관리할 수 있습니다.

이 튜토리얼에서는 asdf 코어와 Node.js 플러그인을 빌드 종속성과 함께 설치하여 기능을 사용하기 위해 필요한 최소한의 구성을 구축합니다. 그런 다음 원하는 범위에 따라 사용하고자 하는 Node.js 버전을 설치하고 관리합니다.

사전 요구 사항

  • 비밀번호가 없는 사용자 계정 및 활성화된 방화벽이 있는 sudo 권한이 있는 Ubuntu 22.04 서버가 필요합니다. 서버 설정에 대한 초기 설정 가이드인 Ubuntu 22.04용 초기 서버 설정 가이드에 따라 서버를 설정해야 합니다.

단계 1 — asdf 코어 설치

asdf는 기능이 없는 별도의 코어 설치에 의존합니다. asdf 코어는 특정 프로그래밍 언어나 프로그램에 특화된 별도의 플러그인에 의존합니다. 가장 일반적으로, asdf는 특정 프로그래밍 언어의 여러 버전을 설치하고 관리하는 데 사용됩니다. asdf의 최신 버전은 우분투 22.04에 기본으로 설치되어 있는 git을 사용하여 다운로드하는 것이 권장됩니다. asdf 저장소에서 최신 브랜치를 클론하여 최신 버전의 asdf를 얻을 수 있습니다:

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

asdf는 쉘 유형과 다운로드 방법의 조합에 따라 고유한 설치가 필요합니다. 기본적으로 우분투는 쉘로 Bash를 사용하며, 구성 및 사용자 정의를 위해 ~/.bashrc 파일을 사용합니다. asdf 명령어를 사용하려면 다음 줄을 추가해야 합니다:

  1. echo ". $HOME/.asdf/asdf.sh" >> ~/.bashrc

다음으로, 변경 사항이 현재 세션에 적용되도록 확인하세요:

  1. source ~/.bashrc

참고: 만약 Bash 대신 ZSH를 사용하는 경우, 동일한 줄을 ~/.zshrc 파일에 추가할 수 있습니다.

코어가 설치되었으므로 이제 플러그인을 설치할 수 있습니다.

2 단계 — asdf Node.js 플러그인 및 빌드 종속성 설치

asdf를 위한 Node.js 플러그인을 설치하는 것은 Node.js 자체를 설치하는 것과 다릅니다. 이는 다음 단계에서 진행됩니다. 이전에 언급한대로, 사용 가능한 asdf 설정의 최소 요구 사항은 asdf 코어와 적어도 하나의 플러그인입니다. 이 플러그인을 설치하면 해당 플러그인을 사용하여 처리하는 런타임을 설치할 수 있습니다.

asdf 플러그인은 각각 별도로 유지 관리됩니다. 일부는 asdf 코어 팀에 의해 유지 관리되지만 대부분은 커뮤니티가 유지 관리합니다. 각 asdf 플러그인은 자체 저장소와 설치해야 할 종속성이 있습니다. 특히 Node.js 플러그인 저장소와 같은 각 플러그인 저장소를 확인해야 합니다. 이 플러그인은 asdf 팀에 의해 공식적으로 유지 관리됩니다.

플러그인을 설치하려면 다음 asdf plugin add 명령을 사용하세요.

  1. asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git

이 Node.js 플러그인의 종속성은 “README” 파일의 “Use” 섹션에 언급되어 있습니다. 해당 섹션에서는 명시적인 종속성이 “Node.js 빌드에 대한 공식 Node.js 저장소 섹션”에 링크되어 있습니다. 이 작업은 asdf가 여러 운영 체제를 대상으로하는 솔루션이기 때문에 각 운영 체제마다 고유한 종속성과 설치 방법이 있기 때문에 수동으로 수행해야 합니다. 이는 플러그인마다 달라질 수도 있습니다. Ubuntu에서 이 플러그인을 사용하려면 다음 종속성을 설치해야 합니다. 먼저, apt 소스 인덱스를 업데이트하십시오:

  1. sudo apt update

그런 다음 필요한 종속성을 설치할 수 있습니다:

  1. sudo apt install python3 g++ make python3-pip

이 Node.js 플러그인은 설치하려는 버전에 따라 미리 컴파일된 이진 파일이나 소스에서 컴파일된 이진 파일 중 하나를 선택합니다. 소스에서 컴파일해야 하는 버전을 선택한 경우, 앞서 언급한 종속성이 필요합니다.

플러그인을 성공적으로 설치한 후에는 Node.js를 설치할 수 있습니다.

단계 3 – Node.js 설치

여러 Node.js 버전을 설치할 수 있으며, 최신 버전 또는 지정된 버전 중 선택할 수 있습니다. 최신 버전의 Node.js를 설치하려면 다음을 입력하십시오:

  1. asdf install nodejs latest
Output
Trying to update node-build... ok Downloading node-v18.10.0-linux-x64.tar.gz... -> https://nodejs.org/dist/v18.10.0/node-v18.10.0-linux-x64.tar.gz Installing node-v18.10.0-linux-x64... Installed node-v18.10.0-linux-x64 to /home/sammy/.asdf/installs/nodejs/18.10.0

최신 버전을 설치하는 것은 asdf가 제공하는 단축키이며 특별한 버전은 아닙니다. asdf는 정확한 번호로 버전을 식별하고 적용합니다. 특정 버전의 Node.js를 설치하려면 다음을 입력하세요:

  1. asdf install nodejs 16.16.0
Output
Trying to update node-build... ok Downloading node-v16.16.0-linux-x64.tar.gz... -> https://nodejs.org/dist/v16.16.0/node-v16.16.0-linux-x64.tar.gz Installing node-v16.16.0-linux-x64... Installed node-v16.16.0-linux-x64 to /home/sammy/.asdf/installs/nodejs/16.16.0

이 두 가지 버전을 설치한 후 다음을 사용하여 설치된 모든 버전을 확인할 수 있습니다:

  1. asdf list nodejs
Output
16.16.0 18.10.0

또한 특정 버전을 제거하려면 다음과 같이 uninstall 명령을 사용할 수 있습니다:

  1. asdf uninstall nodejs 16.16.0

Node.js가 설치되었으므로 활성화할 버전을 선택할 수 있습니다.

단계 4 – 활성 Node.js 버전 선택

asdf는 Node.js 버전을 로컬, 글로벌, 세 가지 다른 수준으로 설정할 수 있습니다. 프로젝트의 작업 디렉토리에만 Node.js 버전을 설정하려면 다음을 실행하세요:

  1. asdf local nodejs latest

글로벌 수준에서 현재 버전을 설정하면 시스템의 사용자 수준에서 작동합니다:

  1. asdf global nodejs latest

현재 셸 세션에만 버전을 설정하려면 다음을 입력하세요:

  1. asdf shell nodejs latest

이제 asdf를 사용하여 Node.js를 완전히 설치했으며 필요한 버전으로 원하는 범위에서 전환할 수 있습니다.

결론

이 튜토리얼에서는 asdf 코어, asdf Node.js 플러그인 및 Node.js를 설치했습니다. asdf를 사용하면 런타임의 여러 버전을 설치할 수 있으며, 전역적으로부터 작업 프로젝트 디렉토리까지 다양한 수준에서 버전을 선택할 수 있습니다. Node.js의 전통적인 설치에 관심이 있다면, Ubuntu 22.04에서 Node.js를 설치하는 방법에 대한 이 튜토리얼을 확인해보세요.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-asdf-to-manage-multiple-programming-language-runtime-versions-on-ubuntu-22-04