支持
RVM 由志愿者社区维护,请将问题报告到 RVM 问题追踪器。
如果您能提供帮助或希望成为维护者之一,请开始帮助我们。您可以在 RVM Github 组织 中找到更多与 RVM 相关的项目。
赞助商
Carbon Ads

使用 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 文件时,您将使用 bootup_god 的路径,而不是使用 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 配置中引用的任何其他 gemset 或 ruby 下的 gem(例如 thinthor),您也需要为它们生成包装脚本(因此,使用它们的路径),方法是

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 配置中所有对 thinthin 路径的调用。