サポート
RVMはボランティアコミュニティによって維持されています。問題報告はRVM issue trackerまでお願いいたします。
もしお手伝いいただける方、またはメンテナの一員になりたい方は、ぜひお手伝いください。RVM関連プロジェクトはRVM Github organizationで確認できます。
スポンサー
Carbon Ads

GodとRVMの連携

god(または`init.d`で起動する必要がある他のアプリケーション)をRVMと連携するには、ラッパースクリプトを生成する必要があります。つまり、正しいgemsetをロードする代替実行ファイルを設定する必要があります。

例として、management gemset(別名`ruby@management`)の`ruby`下にgodをインストールした場合、以下の手順を実行します。

rvm wrapper ruby@management bootup god

このコマンドを実行すると、`~/.rvm/bin`に、またはRVMをシステム全体にインストールしている場合は`/usr/local/rvm/bin`に、`bootup_god`実行ファイルが生成されます。

したがって、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

また、他のgemsetまたはruby(例:`thin`や`thor`)にあるgodの設定で参照するgemについても、ラッパースクリプトを生成し(したがって、それらのパスを使用する)、

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へのパスを、ラッパーへのパスに置き換えます。