Я собираюсь написать небольшой скрипт на Ruby. И я хочу указать версию Ruby через Shebang или другим способом.
Я буду использовать скрипт во многих средах. Я использую rbenv в средах, но не уверен, какая версия ruby установлена.
Скрипт должен завершиться ошибкой, если указанная версия Ruby не установлена.
Как мне это сделать? Есть ли хороший способ, которому мне следует следовать?
решение1
Согласноофициальные документыпохоже, вам просто нужно ставить префиксы к своим скриптам следующим образом:
#!/usr/bin/env ruby
А затем выполните одно из следующих действий, чтобы узнать, rbenv
какую версию Ruby использовать:
отрывок:https://github.com/sstephenson/rbenv
Выбор версии Ruby
При запуске оболочки
rbenv
определяется, какую версию Ruby использовать, считывая ее из следующих источников в следующем порядке:
Переменная окружения
RBENV_VERSION
, если указана. Вы можете использоватьrbenv
команду shell, чтобы задать эту переменную окружения в текущем сеансе оболочки.Первый
.ruby-version
файл, найденный путем поиска в каталоге исполняемого скрипта и в каждом из его родительских каталогов до достижения корня вашей файловой системы.Первый
.ruby-version
файл, найденный путем поиска в текущем рабочем каталоге и каждом из его родительских каталогов до достижения корня вашей файловой системы. Вы можете изменить файл.ruby-version
в текущем рабочем каталоге с помощьюrbenv
локальной команды.Глобальный
~/.rbenv/version
файл. Вы можете изменить этот файл с помощьюrbenv
команды global. Если файл глобальной версии отсутствует,rbenv
предполагается, что вы хотите использовать «системный» Ruby — т. е. любую версию, которая бы запускалась, если быrbenv
не была в вашем пути.
Затем вы можете использовать эту команду для создания .ruby-version
файла в каталоге вместе со скриптом Ruby.
$ rbenv local 1.9.3-p327