Как использовать Ruby и PIK вместе с Windows Services?
У меня есть сервер Windows, на котором запущено несколько приложений Ruby, для некоторых из которых требуются разные версии Ruby. Для управления версиями Ruby мы используем менеджер версий Ruby "PIK".
Для приложения мы используем Windows Services + SrvAny + Thin для его запуска. Скриншот конфигурации:
Однако я не могу найти никакой документации о том, как изменить версию Ruby для этой конкретной службы Windows. Прямо сейчас он просто выбирает один из переменных PATH env.
Есть ли способ изменить версию ruby, используя pik с системными службами Windows?
2 ответа
Я уверен, что есть много способов сделать то, что вы хотите, но тот, который приходит на ум, редактирует bundle.bat
который предположительно используется для запуска вашего сервиса и добавления где-то в верхней части файла pik
Команда, чтобы указать версию, которую вы хотите использовать.
Например:
pik use 186 mingw
Это переключится на указанную версию (вы можете использовать pik list
чтобы увидеть версии ruby, доступные для вашей системы) и выполнить службу с этой версией.
Смотрите также pik
руководство по использованию для получения дополнительной информации.
Вы можете использовать с pik команду follow (пример использования службы Windows):
pik 193 & rails server
контекст:
при запуске служб используется установленный по умолчанию ruby, например, запустите bar.rb, затем bar.rb запустите другой сервер ruby, такой как rails-сервер или тонкий сервер, но если вы запустите его с помощью команды dos, чтобы открыть новый экземпляр, то Вы можете использовать эту 2 команду: PIK и желаемую команду