AL2023에서 Ruby 사용 - Amazon Linux 2023

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AL2023에서 Ruby 사용

Ruby AL2023의는 버전 3.2 및 3.4로 표시됩니다. Amazon Linux는 업스트림 지원 일정을 따르며 Ruby 웹 사이트에서 항상 모든 Ruby 버전의 지원 상태를 확인할 수 있습니다. 지원되는 모든 Ruby 버전은 네임스페이스가 지정되며 동일한 시스템에 동시에 설치할 수 있습니다. 네임스페이스 지정 시에는 각 Ruby 설치가 파일 시스템 내에서 고유하도록 합니다. 이는 런타임 버전을 기반으로 키 디렉터리와 파일의 이름을 변경하여 달성할 수 있습니다. 실제 실행 파일 이름은 ruby{MAJOR.MINOR}(예: ruby3.2 또는 ruby3.4)와 같습니다. Ruby 또한 3.4는의 표준 C 기반 참조 구현을 참조ruby3.4-mri하는 MRI(Matz의 Ruby 해석기) 네임스페이스 바이너리를 제공합니다Ruby. 한 번에 Ruby 버전 하나만 활성화할 수 있습니다. 이 활성 버전은 ruby, gem 또는 번들과 같은 기본 디렉터리와 파일 이름을 제공하여 현재 활성 런타임을 가리킵니다.

이는 대체 도구의 기능을 사용하여 이루어집니다. 기본 실행 파일 이름은 가상이며 설치된 다른 Ruby 버전을 가리킬 때 언제든지 변경될 수 있다는 점을 기억해야 합니다. 이러한 유연성을 통해 Shebang에서 ruby를 사용하는 소프트웨어는 호출 시 원하는 버전을 선택할 수 있습니다. 그러나 특정 버전의 Ruby가 필요한 경우 항상 지정된 버전의 런타임을 사용하는 네임스페이스 실행 파일(예: ruby3.2 또는 ruby3.4)을 호출하여 버전의 지속성을 달성할 수 있습니다. 또한 , , ruby3.2-gem ruby3.4-gem ruby3.2-bundler또는와 같은 번들러 도구의 네임스페이스 실행 ruby3.4-bundler파일은 현재 활성 런타임에 관계없이 항상 해당 Ruby 버전과 연결됩니다.

Ruby는 "ruby{MAJOR.MINOR}"로 시작하는 여러 네임스페이스 패키지로 배포됩니다. 이러한 패키지는 번들러 도구, 설명서, 라이브러리 등의 ruby 호환 버전을 제공합니다. 예를 들어 코어 Ruby 3.2 런타임은 ( ruby3.2-rubygems 제공) 및 ruby3.2-rubygem-bundler (번들번들러 제공)를 종속성으로 가져오는 ruby3.2 패키지에서 제공됩니다.

Ruby 버전을 설치한 후 대체 구성에서 컴패니언 도구의 항목이 null로 표시될 수 있습니다. 이는를 실행하여 확인할 수 있습니다alternatives --display ruby. 항목이 null로 표시되면를 사용하여 수동으로 등록해야 합니다alternatives --install. 예를 들어 Ruby3.4에 대한 모든 컴패니언 도구를 등록하려면

sudo alternatives --install /usr/bin/gem gem /usr/bin/ruby3.4-gem 34 sudo alternatives --install /usr/bin/bundle bundle /usr/bin/ruby3.4-bundle 34 sudo alternatives --install /usr/bin/bundler bundler /usr/bin/ruby3.4-bundler 34 sudo alternatives --install /usr/bin/erb erb /usr/bin/ruby3.4-erb 34 sudo alternatives --install /usr/bin/racc racc /usr/bin/ruby3.4-racc 34 sudo alternatives --install /usr/bin/rdoc rdoc /usr/bin/ruby3.4-rdoc 34 sudo alternatives --install /usr/bin/ri ri /usr/bin/ruby3.4-ri 34

우선 순위 값(예: 3.4의 경우 Ruby 34, 3.2의 경우 Ruby 32)은 기본 ruby 대체 항목에 사용된 우선 순위와 일치해야 합니다. 등록되면 ruby 대안과 함께 컴패니언 도구가 자동으로 관리됩니다.

대체 도구는 Ruby 버전 간 전환을 위한 단일 명령을 제공합니다. 기본적으로 대체는 우선순위를 사용하여 현재 활성 Ruby 버전을 결정하는 자동 모드로 구성됩니다. 그러나 설치된 버전은 언제든지 활성화할 수 있습니다. 현재 Ruby의 지원되는 모든 버전은 우선순위가 동일합니다. 즉, 처음 설치된 버전이 자동으로 활성화됩니다.

대체를 사용하는 몇 가지 유용한 예제
  1. 다음에 대해 구성된 대체 확인

    alternatives --list
  2. ruby의 현재 구성 확인

    alternatives --display ruby
  3. 대화형으로 Ruby 버전 변경

    alternatives --config ruby
  4. 수동 모드로 전환하고 특정 버전 선택

    alternatives --set ruby /usr/bin/ruby{MAJOR.MINOR}
  5. 자동 버전 선택 모드로 다시 전환

    alternatives --auto ruby