Как использовать конкретную версию Ruby в простом проекте, отличном от Rails
Я бы хотел использовать Ruby 2.7.1 в моем простом проекте, отличном от Rails. Я начинаю свой основной файл с комментария:
#!/usr/bin/ruby
Я установил Ruby 2.7.1 через RVM, и он настроен правильно:
$ rvm list
ruby-2.6.1 [ x86_64 ]
=* ruby-2.7.1 [ x86_64 ]
Когда я запускаю свою программу, она использует Ruby 2.6.1.
В /usr/bin/
у меня есть только ruby
а также ruby2.5
файлы.
Как я могу заставить свою программу использовать Ruby 2.7.1 или просто версию, которую RVM вызывает в настоящее время и ее значение по умолчанию?
Я использую Ubuntu 18.04.
1 ответ
Используйте это в верхней части вашего скрипта:
#!/usr/bin/env ruby
Это заставит скрипт проверить среду пользователя, запускающего утилиту, чтобы найти соответствующий интерпретатор Ruby. Со страницы Википедии наenv
:
env - это команда оболочки для Unix и Unix-подобных операционных систем. Он используется либо для печати списка переменных среды, либо для запуска другой утилиты в измененной среде без изменения существующей в настоящее время среды. Используя env, переменные могут быть добавлены или удалены, а существующие переменные могут быть изменены путем присвоения им новых значений.
На практике у env есть еще одно обычное применение. Он часто используется сценариями оболочки для запуска правильного интерпретатора. При таком использовании окружающая среда обычно не изменяется.
Это означает, что вы можете использовать это для любого типа интерпретатора, такого как perl, python, sh и т. Д.