我有一个运行多个 Ruby 应用程序的 Windows 服务器,其中一些需要不同的 Ruby 版本。为了管理 Ruby 版本,我们使用“PIK”Ruby 版本管理器。
对于应用程序,我们使用 Windows Services + SrvAny + Thin 来运行它。配置截图:
但是,我找不到任何有关如何更改此特定 Windows 服务的 Ruby 版本的文档。现在,它只选择 PATH 环境变量中的那个。
有没有办法使用带有 Windows 系统服务的 pik 更改 ruby 版本?
我有一个运行多个 Ruby 应用程序的 Windows 服务器,其中一些需要不同的 Ruby 版本。为了管理 Ruby 版本,我们使用“PIK”Ruby 版本管理器。
对于应用程序,我们使用 Windows Services + SrvAny + Thin 来运行它。配置截图:
但是,我找不到任何有关如何更改此特定 Windows 服务的 Ruby 版本的文档。现在,它只选择 PATH 环境变量中的那个。
有没有办法使用带有 Windows 系统服务的 pik 更改 ruby 版本?
我相信有很多方法可以做你想做的事,但我想到的一种是编辑bundle.bat
,它可能用于启动你的服务,并在文件顶部的某处添加一个pik
命令来指定你想要使用的版本。
例如:
pik use 186 mingw
这将切换到指定的版本(您可以使用pik list
查看系统可用的 ruby 版本)并使用此版本执行您的服务。
另请参阅pik
的使用指南以获取更多信息。
您可以与 pik 一起使用以下命令(使用 Windows 服务的示例):
pik 193 & rails server
语境:
当服务运行时,这是使用安装的默认 ruby,例如启动 bar.rb,然后 bar.rb 启动其他 ruby 服务器,如 rails 服务器或瘦服务器,但如果您使用 dos 命令启动它以打开新实例然后您可以使用这 2 个命令: pik 和所需的命令