저는 Ruby로 몇 가지 짧은 스크립트를 작성하겠습니다. shebang이나 다른 수단을 통해 Ruby 버전을 지정하고 싶습니다.
나는 많은 환경에서 이 스크립트를 사용할 것입니다. 제 환경에서는 rbenv를 사용하고 있는데 어떤 버전의 Ruby가 설치되어 있는지 잘 모르겠습니다.
지정된 버전의 Ruby가 설치되어 있지 않으면 이 스크립트는 확실히 실패합니다.
어떻게 해야 합니까? 내가 따라야 할 좋은 방법이 있습니까?
답변1
~에 따르면공식 문서스크립트에 다음과 같은 접두어를 붙여야 할 것 같습니다.
#!/usr/bin/env ruby
그런 다음 다음 중 하나를 수행하여 rbenv
사용할 Ruby 버전을 결정합니다.
발췌:https://github.com/sstephenson/rbenv
루비 버전 선택
shim을 실행할 때
rbenv
다음 소스를 순서대로 읽어서 사용할 Ruby 버전을 결정하세요.
환경
RBENV_VERSION
변수(지정된 경우)rbenv
쉘 명령을 사용하여 현재 쉘 세션에서 이 환경 변수를 설정할 수 있습니다 .
.ruby-version
발견된 첫 번째 파일은 파일 시스템의 루트에 도달할 때까지 실행 중인 스크립트의 디렉터리와 각 상위 디렉터리를 검색하여 찾습니다.
.ruby-version
파일 시스템의 루트에 도달할 때까지 현재 작업 디렉터리와 각 상위 디렉터리를 검색하여 찾은 첫 번째 파일입니다..ruby-version
로컬 명령을 사용하여 현재 작업 디렉토리의 파일을 수정할 수 있습니다rbenv
.글로벌
~/.rbenv/version
파일. 전역 명령을 사용하여 이 파일을 수정할 수 있습니다rbenv
. 글로벌 버전 파일이 존재하지 않으면 "시스템" Ruby를 사용하려는 것으로 간주됩니다. 즉, 해당 버전 이 경로에 없으면rbenv
모든 버전을 실행합니다 .rbenv
.ruby-version
그런 다음 이 명령을 사용하여 디렉터리에 파일과 Ruby 스크립트를 만들 수 있습니다.
$ rbenv local 1.9.3-p327