如果您能提供協助或希望成為維護人員之一,請直接開始協助。您可以在 RVM Github 組織 中找到更多與 RVM 相關的專案。
∞將 RVM 與 God 搭配使用
若要將 god
(或任何其他需要使用 init.d
啟動的應用程式)與 RVM 搭配使用,您需要產生一個包裝指令碼。換句話說,您需要設定它,以便有一個載入正確 gemset 的替代可執行檔。
舉例來說,如果您已在 management
gemset(又稱 ruby@management
)中的 ruby
下安裝 god
,您會執行下列動作
rvm wrapper ruby@management bootup god
執行此指令會在 ~/.rvm/bin
中產生可執行檔 bootup_god
,或者如果您已在系統範圍內安裝 RVM,則會在 /usr/local/rvm/bin
中產生。
因此,在設定您的 init 檔案時,您不會使用直接路徑前往 god
,而是使用前往 bootup_god
的路徑。舉例來說,您可以將下列內容新增至 /etc/rc.local
(儘管我們建議您使用作業系統中選擇的 init.d
系統)
/home/your-long/.rvm/bin/bootup_god -c /path/to/config.god --log /var/log/god.log --no-syslog --log-level warn
此外,請注意您在 god
設定中參照的任何 gem,如果它們位於其他 gemset 或 ruby(例如 thin
或 thor
)中,您也需要透過下列方式產生包裝指令碼(因此,使用它們的路徑)
rvm wrapper ruby@gemset [scope] [binary-name]
其中 [scope]
是可執行檔的前綴(例如 god
前面),而 binary-name
是要為其產生包裝的二進位檔。因此,建立 $rvm_bin_path/[scope]_[binary-name]
,例如 ~/.rvm/bin/myapp_thin
。
為了簡化,current
可用作 ruby@gemset
,而目前使用的 ruby 將用於產生包裝,例如
rvm wrapper current bootup god
最後,您會將 god
設定中所有呼叫 thin
或前往 thin
的路徑,改為包裝的路徑。