2014-05-05 115 views
1

我有一個運行多個Ruby應用程序的Windows服務器,有些需要不同的Ruby版本。爲了管理Ruby版本,我們使用「PIK」Ruby版本管理器。如何將Ruby和PIK與Windows服務一起使用?

對於我們使用Windows Services + SrvAny + Thin來運行它的應用程序。配置的屏幕截圖:

enter image description here

但是,我無法找到如何改變了Ruby版本爲這個特定的Windows服務的任何文件。現在,它只是選擇PATH env變量中的一個。

有沒有辦法使用Windows系統服務使用pik更改ruby版本?

回答

0

我相信有很多方法可以做你想做的,但想到的是編輯bundle.bat,這大概用於啓動你的服務,並在文件的頂部添加一個pik命令來指定你的版本想用。

例如:

pik use 186 mingw 

這將切換到指定的版本(可以使用pik list看到提供給您的系統Ruby版本),並與此版本執行你的服務。

另請參閱pikusage guide欲瞭解更多信息。

+0

謝謝,我正在考慮這個......我會試試看。 –

+0

好的,我試着將PIK添加到bundle.exe。如果我這樣做,應用程序根本不運行,無論是通過CMD.EXE或Windows服務。第一個命令是用@@ C:\ bin \ pik.bat在頂部使用193 @@,最後一個沒有。 http://cl.ly/image/1M2e1e3u3z15 –

+0

在我看來,它開始很好,它正在監聽連接。如果你想擺脫關於Gemfile源代碼的警告,只需將它添加到你的項目的Gemfile中: 'source「https://rubygems.org」' –

0

您可以(使用Windows服務的示例)與使用碧雲後續命令:

pik 193 & rails server 

方面:

當服務運行,這使用的是默認的紅寶石安裝,用於例如啓動bar.rb,然後bar.rb啓動其他ruby服務器,如rails server或瘦服務器,但是如果使用dos命令啓動它以打開新實例,則可以使用以下2個命令:pik和所需命令

相關問題