【问题标题】:Apache with Ruby - Gems IssueApache 与 Ruby - Gems 问题
【发布时间】:2011-08-31 08:38:31
【问题描述】:

我在 Ubuntu 上运行良好,但无法在 Mac OS-X 10.6.7 上运行。

我的 Apache 配置文件经过编辑,可以运行任何 .rb 文件。我正在使用的 ruby​​ 脚本中有 require 'rubygems'

在 Ubuntu 上,我在我的 Apache 配置文件中添加了 SetEnv RUBYOPT rubygems,因此我什至不需要使用 require 'rubygems'。在我的 Mac 上,即使我需要 ruby​​gems,它也无法加载 gem。

在 IRB 中,它可以很好地加载 gem,我可以从命令行运行脚本 OK。

我的脚本位于 /Library/WebServer/Documents

Apache 错误日志显示 -

[2011 年 5 月 23 日星期一 18:56:40] [错误] [客户端 ::1] /Library/Ruby/Gems/1.8/gems/dbi-0.4.5/lib/dbi/utils/date.rb:57:未定义DBI::Date:Class 的方法“弃用”(NoMethodError) [2011 年 5 月 23 日星期一 18:56:40] [错误] [客户端 ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require' [2011 年 5 月 23 日星期一 18:56:40] [错误] [客户端 ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require' [2011 年 5 月 23 日星期一 18:56:40] [错误] [客户端 ::1] \tfrom /Library/Ruby/Gems/1.8/gems/dbi-0.4.5/lib/dbi/utils.rb:56 [2011 年 5 月 23 日星期一 18:56:40] [错误] [客户端 ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require' [2011 年 5 月 23 日星期一 18:56:40] [错误] [客户端 ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require' [2011 年 5 月 23 日星期一 18:56:40] [错误] [客户端 ::1] \tfrom /Library/Ruby/Gems/1.8/gems/dbi-0.4.5/lib/dbi.rb:50 [2011 年 5 月 23 日星期一 18:56:40] [错误] [客户端 ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:58:in `gem_original_require' [2011 年 5 月 23 日星期一 18:56:40] [错误] [客户端 ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:58:in `require' [2011 年 5 月 23 日星期一 18:56:40] [错误] [客户端 ::1] \tfrom /Library/WebServer/Documents/ruby_file.rb:6

我认为添加 require 'rubygems' 意味着将加载 gem 路径。有人知道为什么 Apache 无法加载 gems 吗?

【问题讨论】:

    标签: ruby apache macos


    【解决方案1】:

    我通过不在脚本中添加require 'dbi' 解决了这个问题。使用require 'sqlite3' 就足够了。

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 1970-01-01
      • 2013-11-21
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多