我有 mod_rails 和 Ruby Enterprise 版本。我遇到错误,进程生成器找不到 fastthread gem。问题是,该 gem 是由 Passenger 安装的,它正在查看标准 MRI 版本的 gem 目录。我应该将 GEM_PATH 设置为与我的用户相同。由于 www-data 是一个特殊用户,没有任何主目录和配置文件,我该如何设置该环境变量?
应该有一种方法可以将环境变量传递给 Apache 用户。
答案1
你确定你的 mod_rails 使用的是 REE 而不是 MRI 吗?检查 apache 中的 PassengerRuby 设置。
通常您不必传递任何 GEM_PATH,因为每个 ruby 二进制文件都知道它的 gems 安装在哪里。所以您可能需要做的是在正确的位置安装您的 gem。您的 REE 应该安装了它自己的 gem 版本(我认为它应该被称为 gemee、gem-ee 或类似的),所以使用它来查看 REE 环境中安装了哪些 gem。