【发布时间】: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 上,即使我需要 rubygems,它也无法加载 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 吗?
【问题讨论】: