rbenv를 사용하여 쉘 스크립트에 대해 Ruby 버전 지정을 사용하는 방법은 무엇입니까?

rbenv를 사용하여 쉘 스크립트에 대해 Ruby 버전 지정을 사용하는 방법은 무엇입니까?

저는 Ruby로 짧은 스크립트를 작성하겠습니다. 그리고 shebang이나 다른 방법으로 Ruby 버전을 지정하고 싶습니다.

나는 많은 환경에서 스크립트를 사용할 것이다. 환경에서 rbenv를 사용하고 있지만 어떤 버전의 Ruby가 설치되어 있는지 확실하지 않습니다.

지정된 버전의 Ruby가 설치되어 있지 않으면 스크립트가 실패해야 합니다.

내가 어떻게 해? 내가 따라야 할 좋은 방법이 있습니까?

답변1

에 따르면공식 문서다음과 같이 스크립트 앞에 접두사를 붙여야 할 것 같습니다.

#!/usr/bin/env ruby

rbenv그런 다음 사용할 Ruby 버전을 확인하려면 다음 중 하나를 수행하세요 .

발췌:https://github.com/sstephenson/rbenv

Ruby 버전 선택

shim을 실행할 때 rbenv다음 소스에서 순서대로 읽어서 사용할 Ruby 버전을 결정합니다.

  1. 환경 RBENV_VERSION변수(지정된 경우)입니다. rbenv쉘 명령을 사용하여 현재 쉘 세션에서 이 환경 변수를 설정할 수 있습니다 .

  2. .ruby-version실행 중인 스크립트의 디렉터리와 파일 시스템의 루트에 도달할 때까지 각 상위 디렉터리를 검색하여 찾은 첫 번째 파일입니다.

  3. .ruby-version파일 시스템의 루트에 도달할 때까지 현재 작업 디렉터리와 각 상위 디렉터리를 검색하여 찾은 첫 번째 파일입니다. 로컬 명령을 .ruby-version사용하여 현재 작업 디렉터리의 파일을 수정할 수 있습니다 rbenv.

  4. 전역 ~/.rbenv/version파일. 전역 명령을 사용하여 이 파일을 수정할 수 있습니다 rbenv. 전역 버전 파일이 없으면 rbenv"시스템" Ruby를 사용한다고 가정합니다. 즉, rbenv경로에 없으면 어떤 버전이든 실행됩니다.

.ruby-version그런 다음 이 명령을 사용하여 Ruby 스크립트와 함께 디렉터리에 파일을 만들 수 있습니다 .

$ rbenv local 1.9.3-p327

관련 정보