0

我正在使用 Apache 和 FastCGI 来运行 ruby​​ 应用程序。我已经安装了 apache fcgi 模块和 Ruby fcgi gem。

当我像这样运行 fcgi 脚本'search.fcgi'

ruby search.fcgi

它运行成功。但是,当启动 Apache 时,当它尝试运行相同的脚本时,我的日志文件中出现以下错误:

/usr/local/rvm/rubies/ruby-2.1.8/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- fcgi (LoadError)
from /usr/local/rvm/rubies/ruby-2.1.8/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/user/fcgi/search.fcgi:13:in `<main>'

search.fcgi 中的第 13 行很简单 require 'fcgi'

似乎在通过 Apache 运行时,它无法检测到已安装的 gem。我已经加载了 irb 并运行require 'fcgi'它返回 true。

我在这里错过了什么吗?我需要设置一些路径或配置项?

4

1 回答 1

0

我的问题是由于 Ruby 是使用 RVM 安装的。来自 apache 的脚本访问 RVM 灌输的某些部分时存在一些问题。解决方案是删除 RVM ruby​​ 安装并从源代码重新安装 ruby​​。

于 2016-09-01T10:22:50.490 回答